在運行時Objective-C能不能想對象實例里注入一個對象?我看框架里都沒有這樣用的,是否不支持或者有沒有類似魔術方法之類的可以側面實現?如果可以實現的話,性能如何?對象@interface ObjA:NSObject@end@implement ObjA@endObjA *obja = [[ObjA alloc] init];// 在這里運行一段代碼,把本沒有定義的prop屬性注入對象 objaNSLog(@"%@", obja.prop);
1 回答

12345678_0001
TA貢獻1802條經驗 獲得超5個贊
ObjA *obja = [[ObjA alloc] init]; objc_setAssociatedObject(obja, @"prop", @"SomeValueForProp", OBJC_ASSOCIATION_RETAIN_NONATOMIC);NSLog(@"%@", objc_getAssociatedObject(self, @"prop"));
輸出:
SomeValueForProp
另外,你那行NSLog(@"%@", obja.prop
); .prop本身就是靜態的。
- 1 回答
- 0 關注
- 187 瀏覽
添加回答
舉報
0/150
提交
取消