1

次のコードをforループで実行して短縮するにはどうすればよいですか?

NSArray *images = [NSArray arrayWithObjects:
                         [UIImage imageNamed:@"z1.png"],
                         [UIImage imageNamed:@"z2.png"],
                         [UIImage imageNamed:@"z3.png"],
                         [UIImage imageNamed:@"z4.png"],
                         [UIImage imageNamed:@"z5.png"],
                         [UIImage imageNamed:@"z6.png"],
                         [UIImage imageNamed:@"z7.png"],
                         [UIImage imageNamed:@"z8.png"],
                         [UIImage imageNamed:@"z9.png"],
                         [UIImage imageNamed:@"z10.png"],
                         [UIImage imageNamed:@"z11.png"],
                         [UIImage imageNamed:@"z12.png"],
                         [UIImage imageNamed:@"z13.png"],
                         [UIImage imageNamed:@"z14.png"],
                         [UIImage imageNamed:@"z15.png"],
                         [UIImage imageNamed:@"z16.png"],
                         [UIImage imageNamed:@"z17.png"],
                         [UIImage imageNamed:@"z18.png"],
                         [UIImage imageNamed:@"z19.png"],
                         nil];
4

6 に答える 6

11

NSMutableArrayコメントで言及されているように、魔法は入っています。実際、、、などのすべてのコンテナクラスには可変バージョンがNSStringありNSDictionaryますNSSet

NSMutableArray *images = [NSMutableArray array];

for (NSUInteger i = 1; i <= 19; i++) {
    NSString *imageName = [NSString stringWithFormat:@"z%d.png", i];
    [images addObject:[UIImage imageNamed:imageName];
}
于 2012-06-30T19:25:00.703 に答える
4

アニメーションを停止してもかまわない場合は、iOS5以降で次の操作を実行できます。

UIImage *myAnimatedImage = [UIImage animatedImageNamed:@"z" duration:10];

画像を検索し、自動的に番号を追加します。警告は、のようにアニメーション画像を停止できないことですUIImageView

于 2012-06-30T19:27:53.307 に答える
2

を利用する必要がありますNSMutableArray。ただし、NSArray不変性が重要な場合は、結果を最後に配置できます。

NSMutableArray *workingArray = [NSMutableArray array];
for (int i = 0; i < NUM_IMAGES; i++) {
    [workingArray addObject:[UIImage imageName:[NSString stringWithFormat:@"z%d.png", i]];
}

NSArray *images = [NSArray arrayWithArray:workingArray];
于 2012-06-30T19:26:30.327 に答える
1
NSMutableArray *images = [[NSMutableArray alloc] initWithCapacity:19];

for(int i = 1; i <=19; i++)
    [images addObject:[UIImage imageNamed:[NSString stringWithFormat:@"z%d.png, i]]];
于 2012-06-30T19:25:56.180 に答える
1
 NSMutableArray *arrImage = [NSMutableArray  arrayWithCapacity:0];
 for(int i = 1; i<= 19;i++)
 {
    [arrImage  addObject:[UIImage imageNamed:[NSString stringWithFormat:@"z%d.png",i]]];
 }
于 2012-06-30T19:27:03.680 に答える
1

ファイル名を処理するアニメーションUIImageをロードします。次に、そこから画像配列を取得します。

NSArray* images = [UIImage animatedImageNamed:@"z" duration:1].images;

于 2012-10-04T12:52:17.763 に答える