比方说,我有一个具有如Variable.x,Variable.y,Variable.z性质的NSObject的变量和我想要的程序,以确定哪个属性分配一个值,然后做呢?运行时可以选择吗?事实上,直到它要求它们时,这些属性才会被该方法所知晓。所以x,y和z并不总是属性。它将具有可用属性的列表,对象名称和应用于这些属性的值。我不需要在运行时创建属性(虽然这会很好),但我需要查看可用的内容并在运行时为它们分配值。对不起,如果这不够详细。我主要是自学成才,有时候不会使用正确的术语。但是这个网站为我节省了很多时间和过去的沉重。我可以在iOS中以编程方式设置对象属性吗?
回答
是的,你可以使用Objective-C运行做到了这一切。见Objective-C Runtime Reference,尤其是class_copyPropertyList
,class_getProperty
,objc_setAssociatedObject
和objc_getAssociatedObject
。 (有几种不同的方式来完成你想要的。)
鉴于信息,你应该能够找到示例代码和充足的讨论堆栈溢出,所以我不会进一步阐述。
你可以做这一切与一个NSMutableDictionary。根本不需要创建自定义对象。
除非你想使用那些自带了弱引用,国际志愿者组织,覆盖的干将等 – 2014-09-21 12:51:18
性功能......,你可以通过把一个类别上的NSMutableDictionary做任何的那些东西,你应该需要。 – w0mbat 2014-09-21 20:34:58
当然,但你正在创建一个自定义对象... – 2014-09-21 20:40:03
- 1. 以编程方式设置WPF属性
- 2. 我可以以编程方式设置DirectCast命令的对象类型吗?
- 3. 我可以以编程方式设置Mercurial配置选项吗?
- 4. 如何以编程方式在Java中设置属性属性?
- 5. 我可以在iOS中设置任意属性文件吗?
- 6. iOS以编程方式中心对象
- 7. 我们可以设置一个类的对象的属性吗?
- 8. 在RhinoMocks的Expect.Call中可以设置对象的属性值吗?
- 9. 如何在Android中以编程方式设置样式属性?
- 10. 我可以设置Textview的属性吗?
- 11. 可以在运行时以编程方式设置“android:layout_below”吗?
- 12. 如何以编程方式设置注释属性/属性?
- 13. 我可以以编程方式在`for`循环中设置条件吗?
- 14. 以编程方式在javascript中选择对象的属性
- 15. 以编程方式在Silverlight中设置TranslateX或Canvas.SetLeft属性
- 16. 如何在WPF中以编程方式设置clr-namespace属性
- 17. 以编程方式在PowerPoint中设置文字阴影属性
- 18. 如何以编程方式在Magento中设置产品属性?
- 19. 以编程方式在log4j属性文件中设置值?
- 20. 以编程方式在目标c中设置属性值
- 21. 我可以通过编程方式设置SQLNET.AUTHENTICATION_SERVICES =(NONE)吗?
- 22. 如何在iOS中以编程方式设置设备方向
- 23. 您可以设置Axis以编程方式使用HTTP/1.0吗?
- 24. Qt可以以编程方式设置资源吗?
- 25. 你能以编程方式在ChildWindow的ControlTemplate中设置属性吗?
- 26. 我们可以以编程方式配置Chrome吗?
- 27. FTL可以修改请求对象设置属性吗?
- 28. 您可以设置ECMAScript对象的内部[[Class]]属性吗?
- 29. 以编程方式设置mule中的调用属性
- 30. 如何以编程方式在ListboxItem上设置IsChecked属性?
是的,这听起来像我在找什么。 – Bill3 2014-09-21 16:56:09