在 CoreData 模型中,我有一个名为 TestEntity 的实体。该实体有一个名为“deleted”的 bool 类型属性。
如果我使用 Xcode 为该实体生成一个自动 NSManagedObject 子类,生成的类头如下所示:
@interface TestEntity : NSManagedObject
@property (nonatomic, retain) NSNumber * deleted;
@end
我理解为什么 NSNumber 用于 bool 属性。这一点和以前没有变化。问题是它现在向我显示 2 个警告:
- 属性“已删除”的 getter 属性与从“NSManagedObject”继承的属性不匹配。
- 属性类型“NSNumber *”与继承自“NSManagedObject”的类型“BOOL”(又名“bool”)不兼容。
我不想使用原始类型。任何想法如何摆脱这些警告? 这可能是我正在使用的 Xcode 6 beta 7 (iOS 8 beta 5) 的错误。已经提交了错误报告,因为使用 Xcode 自动生成的类在任何情况下都不应导致编译器警告。
最佳答案
您设法使用了一个名称与 NSManagedObject 的现有方法冲突的属性。
解决方案:更改属性的名称。不要称其为“已删除”,而是其他名称。
关于ios - 为 bool 属性自动生成的 NSManagedObject 子类会导致警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25745135/