Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 迭代/循环目标C中类的所有属性_Objective C_Loops_Properties - Fatal编程技术网

Objective c 迭代/循环目标C中类的所有属性

Objective c 迭代/循环目标C中类的所有属性,objective-c,loops,properties,Objective C,Loops,Properties,可能重复: 问题是UITableView的每一行上都有许多UILabel,我需要将模型类的属性(当然是NSString)映射到标签标题 由于有多个标签(超过12个,以后在我的项目中可能会增加),因此我使用for循环来分配所有标签。但是为了将变量映射到标签,我每次都必须硬编码对应的标签 有没有办法循环一个类的所有属性,这样我就可以按顺序声明它们,并将它们作为数组获取,并正确地映射它 我已经看到并理解了上面可能存在的重复链接,但它会在代码中填充尽可能多的开关案例,设置的次数也是如此。相反,使用循环进

可能重复:

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

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

有没有办法循环一个类的所有属性,这样我就可以按顺序声明它们,并将它们作为数组获取,并正确地映射它

我已经看到并理解了上面可能存在的重复链接,但它会在代码中填充尽可能多的开关案例,设置的次数也是如此。相反,使用循环进行简洁、更清晰的编码还有其他选择

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

如果您谈论的是UILabel,我假设您希望通过IB在Xcode中使用它们,但是您在代码中创建它们只是因为您可以在代码中循环

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

@property(非原子,强)IBOutletCollection(UILabel)NSArray*标题标签

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


希望,这会有所帮助。

我认为两者相似,没有太大区别。是的,我可以使用iBootletCollection,但这不是我的主要要求。它是关于如何以特定顺序从类对象获取属性列表,并直接将它们映射到标签,而不使用开关大小写。