如何在objective-c中的对象上创建动态属性?在ActionScript中我们可以做这样的事情
var obj : Object; obj[ "myDynamicProperty" ] = true; trace( obj.myDynamicProperty );
我如何在objective-c中这样做?
我尝试了以下内容
NSObject *obj = [[NSObject alloc] init]; [obj setValue:@"labelValue" forKey:@"label"];
但这只会引发运行时错误.任何帮助将非常感激.提前致谢.
Objects-NSObjects
,具体 - Objective-C
不允许使用任意属性设置KVC
; 也就是说,它们不是键值容器.如果你想要一些可以接受任意键值对的东西,可以使用字典(NSMutableDictionary
).
如果您足够舒服地下载到Obj-C
运行时,也可以使用关联的对象API .objc_setAssociatedObject
在文档中搜索以了解如何使用它API
.