2014-09-21 120 views
0

比方说,我有一个具有如Variable.x,Variable.y,Variable.z性质的NSObject的变量和我想要的程序,以确定哪个属性分配一个值,然后做呢?运行时可以选择吗?事实上,直到它要求它们时,这些属性才会被该方法所知晓。所以x,y和z并不总是属性。它将具有可用属性的列表,对象名称和应用于这些属性的值。我不需要在运行时创建属性(虽然这会很好),但我需要查看可用的内容并在运行时为它们分配值。对不起,如果这不够详细。我主要是自学成才,有时候不会使用正确的术语。但是这个网站为我节省了很多时间和过去的沉重。我可以在iOS中以编程方式设置对象属性吗?

回答

1

是的,你可以使用Objective-C运行做到了这一切。见Objective-C Runtime Reference,尤其是class_copyPropertyListclass_getPropertyobjc_setAssociatedObjectobjc_getAssociatedObject。 (有几种不同的方式来完成你想要的。)

鉴于信息,你应该能够找到示例代码和充足的讨论堆栈溢出,所以我不会进一步阐述。

+0

是的,这听起来像我在找什么。 – Bill3 2014-09-21 16:56:09

0

你可以做这一切与一个NSMutableDictionary。根本不需要创建自定义对象。

+0

除非你想使用那些自带了弱引用,国际志愿者组织,覆盖的干将等 – 2014-09-21 12:51:18

+0

性功能......,你可以通过把一个类别上的NSMutableDictionary做任何的那些东西,你应该需要。 – w0mbat 2014-09-21 20:34:58

+0

当然,但你正在创建一个自定义对象... – 2014-09-21 20:40:03

相关问题