【发布时间】:2014-11-19 15:49:44
【问题描述】:
我们正在对我们的核心数据模型进行重大更改。有几个属性我们不想再使用了。例如,下面的values 代表SomeObject。
但是,我们还不想简单地从我们的核心数据中删除values,因为我们在项目中到处都在使用它。
我想知道是否可以将deprecation 标记添加到Core Data 中的某些属性,以便我们在使用它们时会收到一些警告。
@interface SomeObject : _SomeObject
// ...
@end
@interface _SomeObject : NSManagedObject {}
@property (nonatomic, strong) NSNumber* values;
// and a massive amount of auto-generated code by core data
@end
然后我看到了这个post about how to flag a method as deprecated in objective C。我尝试在_SomeObject.h 中添加弃用标签,例如:
@interface _SomeObject : NSManagedObject {}
@property (nonatomic, strong) NSNumber* values __attribute__((deprecated));
// and a massive amount of auto-generated code by core data
@end
它完全按照我们想要的方式工作,我们到处都有'values' is deprecated 警告。因此,我们将能够专注于所有这些警告,并在下一艘船之前修复所有这些警告。但让我感觉不太舒服的一件事是,我们正在修改 Core Data 自动生成的代码。
所以最后,我的问题是:
是否可以在不接触_SomeObject.h 文件的情况下向方法添加弃用?
【问题讨论】:
标签: ios objective-c core-data