我有5个属性,名称为address1,address2,.....,address5。现在我想遍历所有属性并从数组中为它们分配一些值,如下所示。
for (int i=0; i<5; i++) {
self.address *value of i+1* = endAddress[i]; // like address1 = endAddress[0] and address2 = endAddress[1]
}
有没有办法实现这个目标?如果是,那怎么办?
我用Google搜索但无法找到添加整数属性的解决方案,而是找到了使用NSString添加整数的解决方案。
提前致谢。
答案 0 :(得分:4)
Key Value coding可以用于此,但是存储的值必须是Objective-C对象,而不是基本类型。因此,对于数字,这意味着使用NSNumber
:
@property NSNumber *address1;
@property NSNumber *address2;
@property NSNumber *address3;
@property NSNumber *address4;
@property NSNumber *address5;
...
for (int i=0; i<5; i++) {
NSString *keyName = [NSString stringWithFormat:@"address%d", i + 1];
[self setValue:@(endAddress[i])
forKey:keyName];
}