Maz*_*yod 0 setter for-loop objective-c instance-variables nsarray
我想替换这个:
self.fajerImage = [UIImage imageNamed:@"FirstViewBG_5N.png"];
self.shrogImage = [UIImage imageNamed:@"FirstViewBG_4N.png"];
self.dohorImage = [UIImage imageNamed:@"FirstViewBG_3N.png"];
self.aaserImage = [UIImage imageNamed:@"FirstViewBG_2N.png"];
self.mgribImage = [UIImage imageNamed:@"FirstViewBG_1N.png"];
self.eeshaImage = [UIImage imageNamed:@"FirstViewBG_0N.png"];
Run Code Online (Sandbox Code Playgroud)
有一个for循环..我不知道如何在循环中一个接一个地调用ivars ..
请注意,在循环之前将它们放在一个数组中是个好主意,我没有成功实现..
谢谢!
一个很好的方法是使用键值编码,正如本博文中所讨论的那样.尝试使用:
NSArray *nameArray = [[NSArray alloc] initWithObjects:@"fajerImage",
@"shrogImage",
@"dohorImage",
@"aaserImage",
@"mgribImage",
@"eeshaImage",
nil];
int i = 0;
for (NSString *name in nameArray) {
UIImage *image = [UIImage imageNamed:[NSString stringWithFormat:@"FirstViewBG_%dN.png", i++]];
[self setValue:image forKey:name];
}
[nameArray release];
Run Code Online (Sandbox Code Playgroud)
(UIImage如果我错了,你应该在上面的代码中替换实际的对象类型.)