gpt4 book ai didi

iphone - 以编程方式在 Objective-C 中创建属性?

转载 作者:行者123 更新时间:2023-11-29 04:53:50 25 4
gpt4 key购买 nike

如何以编程方式在 Objective-C 中创建属性?

背景:

  • 非常有效地,根据您从商店读取的数据,在类上创建属性
  • 具体来说,我想创建一些类型化属性来表示我存储在核心数据中的“事件类型” - 因此,虽然事件类型位于事件类型实体的核心数据中,但我可以在运行时将它们读入类,然后引用他们列出“EventTypes.ACTIVE_EVENT”

我想到的总体目标是:

  • 保持核心数据存储中的类型建模
  • 但仍然可以通过使用简单的属性方法以编程方式轻松访问托管对象类型实例(例如 ACTIVE_EVENT)。

最佳答案

常规的 Objective C 属性通常会导致编译器为 getter 和 setter 生成代码。但由于安全沙箱限制,iOS 应用程序不允许添加任何新的可执行代码,因此在运行时您无法像编译器一样以编程方式执行此操作。

您可以做的是使用 Objective C 运行时来模拟获取和设置属性,也许使用forwardInitation: 和 methodSignatureForSelector: 方法来处理无法识别的消息。例如,支持属性状态数据可以存储在类对象所持有的属性元素的某种可变字典中。然后该对象可能会表现得(稍微慢一点),就好像它已经实现了您以编程方式创建的属性一样。

关于iphone - 以编程方式在 Objective-C 中创建属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8371526/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com