在Objective C中迭代/循环遍历类的所有属性

时间:2014-08-21 10:19:15

标签: objective-c loops properties

可能重复:Looping through properties in a class

问题是我在UITableView上的每一行都有多个UILabel,我需要将我的模型类的属性(当然是NSStrings)映射到标签标题。

由于有多个标签(超过12个,并且可能会在我的项目中稍后增加),因此我使用for循环来分配所有标签。但是为了将变量映射到标签,我每次都需要对相应的标签进行硬编码。

是否有任何方法遍历类的所有属性,以便我可以按顺序声明它们并将它们作为数组获取并正确映射它。

我已经看到并理解了上述可能的重复链接,但它使用尽可能多的切换案例填充代码,因为它需要设置多次。而不是那样,使用循环进行简洁和更清晰的编码还有其他选择。

任何帮助将不胜感激。 快乐的编码。

1 个答案:

答案 0 :(得分:3)

如果您正在谈论UILabels,我会假设您想在Xcode中通过IB使用它们,但是您只是因为可以循环代码而在代码中创建它们。

如果是这样,您可以考虑使用IBOutletCollection代替IBOutlet,如下所示:

@property (nonatomic, strong) IBOutletCollection(UILabel) NSArray *titleLabels;

此数组中的顺序与您在IB ui中添加它们的顺序相同。

希望,这有帮助。