Objective-C可否做变量注入-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Objective-C可否做变量注入

2016-07-20 14:31:56 1485 1

在运行时Objective-C能不能想对象实例里注入一个对象?我看框架里都没有这样用的,是否不支持
或者有没有类似魔术方法之类的可以侧面实现?
如果可以实现的话,性能如何?

补充:举例说明
对象

@interface ObjA:NSObject
@end
@implement ObjA
@end
ObjA *obja = [[ObjA alloc] init];
// 在这里运行一段代码,把本没有定义的prop属性注入对象 obja
NSLog(@"%@", obja.prop);
本来ObjA里没有定义prop这个属性,但是我通过 get 方法调用的时候,我希望可以调用到。

取消 提交回答
全部回答(1)
  • a123456678
    2019-07-17 19:58:50

    ObjA *obja = [[ObjA alloc] init];
    objc_setAssociatedObject(obja, @"prop", @"SomeValueForProp", OBJC_ASSOCIATION_RETAIN_NONATOMIC);
    NSLog(@"%@", objc_getAssociatedObject(self, @"prop"));
    输出:

    SomeValueForProp
    另外,你那行NSLog(@"%@", obja.prop); .prop本身就是静态的。

    0 0
相关问答

1

回答

10个迷惑新手的Cocoa,Objective-c开发难点和问题? 400 报错

2020-05-31 00:44:28 414浏览量 回答数 1

1

回答

Cocoa,Objective-c开发难点和问题有哪些??

2016-07-01 19:10:07 1630浏览量 回答数 1

4

回答

新手学习IOS开发,现在是选择Objective-C还是Swift

2016-06-29 09:51:12 3089浏览量 回答数 4

2

回答

objective-c 单例继承问题

2016-07-19 17:02:38 1911浏览量 回答数 2

1

回答

关于objective-c类中为何要这样写?

2016-07-20 17:14:40 2343浏览量 回答数 1

1

回答

关于Objective-C 正则表达式的问题

2016-07-20 15:13:34 1846浏览量 回答数 1

2

回答

objective-c的一个警告,请问怎么消除

2016-06-29 18:40:23 1803浏览量 回答数 2

1

回答

objective-c 调用第三方c语言库

2016-06-08 19:11:52 2080浏览量 回答数 1

1

回答

objective-c objc_ivar_list 的结构

2016-05-27 15:37:57 2606浏览量 回答数 1

2

回答

关于Objective-C命名冲突的解决办法

2016-03-17 09:28:33 1956浏览量 回答数 2
+关注
0
文章
14879
问答
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载