我可以在iOS中以编程方式设置对象属性吗?

时间:2014-09-21 04:14:30

标签: ios object properties

假设我有一个NSObject变量,它具有Variable.x,Variable.y,Variable.z等属性,我希望程序确定为哪个属性赋值,然后执行此操作?是否可以在运行时选择?实际上,在要求它们之前,该方法将不知道该属性。所以x,y和z并不总是属性。它将包含可用属性列表,对象名称以及要应用于这些属性的值。我不需要在运行时创建属性(虽然这样会很好)但我需要查看可用的内容并在运行时为它们赋值。对不起,如果这还不够详细。我大多是自学成才,有时候不会使用正确的术语。但是这个网站在过去为我节省了大量的时间和精力。

2 个答案:

答案 0 :(得分:1)

是的,您可以使用Objective-C运行时完成所有这些操作。请参阅Objective-C Runtime Reference ,尤其是class_copyPropertyListclass_getPropertyobjc_setAssociatedObjectobjc_getAssociatedObject。 (有几种不同的方法可以实现你想要的。)

鉴于这些信息,您应该能够找到示例代码并对Stack Overflow进行充分讨论,因此我将不再详述。

答案 1 :(得分:0)

您可以使用NSMutableDictionary完成所有这些操作。根本不需要创建自定义对象。