2010年3月2日火曜日

"NSMutableArray"とか"stringWithFormat"とか...

スズキです。

そろそろ、Objective-Cの文法や基本的なAPIも
わかって無いと通用しなくなってきたので...

やりたいことは、下記で紹介した、静止画のアニメーション表示で、
http://blog.suz-lab.com/2010/03/uiimageviewiphone_01.html
静止画のファイル名を配列にハードコードしていたところを、
繰り返しを用いて、もう少しスマートにできたら、って感じです。

必要な道具としては、動的に追加できる配列(のようなもの)と、
数字から、"00003"みたいな文字列を生成する、"sprintf"みたいな機能です。

調べてみると、動的に追加できる配列はNSArrayのサブクラスである、
NSMutableArrayが用意されていました。

また"sprintf"に関しては、NSStringクラスのstringWithFormatメソッドで、
同様のことが可能でした。

ということで、こんな感じのコードでやりたいことが実現できました。

--------【Objective-C】--------
NSMutableArray *images = [[NSMutableArray alloc] init];
for(int i = 0; i < 30; i++) {
  NSString *file = [NSString stringWithFormat:@"test_%05d.jpg", i];
  [images addObject: [UIImage imageNamed: file]];
}
imageView.animationImages = images;
imageView.animationDuration = 1.0f;
imageView.animationRepeatCount = 1;
[imageView startAnimating];
--------

どっかで、メモリ管理もしっかり勉強しなきゃ...

--------
http://www.suz-lab.com

0 コメント: