【发布时间】:2020-01-06 06:33:43
【问题描述】:
我有一个类似于this question 中描述的要求。
我想在运行时为从 NSObject 继承的 Swift 类动态生成 getter 和 setter(与 NSManagedObject 在幕后所做的类似)。
该问题的答案提到了@dynamic 的用法,以抑制 Objective-C 编译器 警告,然后还执行方法混合。
此外,当在 Swift 中使用 CoreData 时,我们有 @NSManaged 属性,它告诉 Swift 编译器这个属性存储不是通常的存储,而是有一些由 CoreData 提供的自定义后备存储。
有没有办法类似地告诉 Swift 编译器 我的自定义类属性具有自定义后备存储,而不使用通常的 Swift 提供的存储?
我正在考虑属性包装器来修改存储,但这是正确的方向还是有其他方法?
如果我们使用属性包装器,在使用自定义属性包装器声明属性时,我会觉得有一个特殊的功能令人不快并且想要避免:
@MyCustomPropWrapper(backingStore: someStore) var counter: Int
【问题讨论】:
标签: objective-c swift nsmanagedobject