在IOS中添加带有属性名称的变量值

时间:2014-12-17 10:09:32

标签: ios loops properties nsarray

我有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添加整数的解决方案。

提前致谢。

1 个答案:

答案 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];
}