我有一个类似于this question中描述的要求。
我想为运行时从NSObject继承的Swift类动态生成getter和setter(类似于NSManagedObject在幕后所做的工作)。
该问题的答案提到了@dynamic的用法,以抑制 Objective-C编译器警告,然后执行各种方法。
此外,在Swift中使用CoreData时,我们具有@NSManaged属性,该属性告诉 Swift编译器,该属性存储不是通常的存储,但具有CoreData提供的一些自定义后备存储。
有没有办法类似地告诉 Swift编译器,我的自定义类的属性具有自定义后备存储,而不使用通常的Swift提供的存储?
我正在考虑使用属性包装器来修改存储,但是这是朝着正确的方向发展还是有其他方法?
如果我们使用属性包装器,则在使用自定义属性包装器声明属性时,我会发现一个不愉快并想要避免的特殊功能:
@MyCustomPropWrapper(backingStore: someStore) var counter: Int