如何在for循环中创建NSArray

Con*_*lor 1 iphone sdk cocoa-touch objective-c ios

如何通过在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];
Run Code Online (Sandbox Code Playgroud)

Anu*_*rag 11

魔术NSMutableArray就像评论中提到的@Teak一样.事实上,对于所有的容器类,比如,像一个可变的版本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];
}
Run Code Online (Sandbox Code Playgroud)