NSArray *planetArray = [NSArray arrayWithObjects:@"Earth",
@"Jupiter",
@"Saturn",
@"Neptune",
@"Pluto", nil];
NSMutableArray *objectArray = [[NSMutableArray alloc] init];
for(NSString *eachPlanet in planetArray) {
Planet *newPlanet = [[Planet alloc] init];
[newPlanet setValue:eachPlanet forKey:@"name"];
[newPlanet setValue:@"TEST" forKey:@"type"];
[newPlanet setValue:[NSNumber numberWithInt:1234] forKey:@"mass"];
[objectArray addObject:newPlanet];
[newPlanet release];
}
for(Planet *displayEachPlanet in objectArray) {
NSLog(@"DATA: %@", displayEachPlanet);
}
[objectArray release];
我很好奇,如果这是创建对象并为数组中的每个项目设置iVar的最佳方式。基本上我:创建对象并在循环中设置iVars?
- 创建行星对象
- 设置IVAR(来自的NSString阵列)
- 添加行星对象到一个数组。
释放的行星对象
打印我的星球对象
松开阵列
注:我只是测试,这不是什么,我只是好奇。 ..
欢呼声Gary
我没有想到这一点,我也在看KVC,所以这就是为什么我设置循环中的iVar。这非常好,谢谢。 – fuzzygoat 2010-07-19 18:34:58