可能重复:Looping through properties in a class
问题是我在UITableView上的每一行都有多个UILabel,我需要将我的模型类的属性(当然是NSStrings)映射到标签标题。
由于有多个标签(超过12个,并且可能会在我的项目中稍后增加),因此我使用for循环来分配所有标签。但是为了将变量映射到标签,我每次都需要对相应的标签进行硬编码。
是否有任何方法遍历类的所有属性,以便我可以按顺序声明它们并将它们作为数组获取并正确映射它。
我已经看到并理解了上述可能的重复链接,但它使用尽可能多的切换案例填充代码,因为它需要设置多次。而不是那样,使用循环进行简洁和更清晰的编码还有其他选择。
任何帮助将不胜感激。 快乐的编码。
答案 0 :(得分:3)
如果您正在谈论UILabels,我会假设您想在Xcode中通过IB使用它们,但是您只是因为可以循环代码而在代码中创建它们。
如果是这样,您可以考虑使用IBOutletCollection
代替IBOutlet,如下所示:
@property (nonatomic, strong) IBOutletCollection(UILabel) NSArray *titleLabels;
此数组中的顺序与您在IB ui中添加它们的顺序相同。
希望,这有帮助。