[英]create a property in an objective-c programmatically?
如何以编程方式在Objective-C中创建属性?
背景:
我想到的总体目标是:
常规的Objective C属性通常会使编译器为getter和setter生成代码。 但是由于安全沙箱限制,iOS应用程序不允许添加任何新的可执行代码,因此在运行时,您无法以编程方式以与编译器相同的方式执行此操作。
您可以做的是使用Objective C运行时来模拟获取和设置属性,也许使用forwardInvocation:和methodSignatureForSelector:方法来处理无法识别的消息。 支持属性状态数据可以存储在例如类对象持有的某种可变的属性元素字典中。 然后,该对象的行为(稍微慢一些)就好像它已经以编程方式实现了您创建的属性一样。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.