为布尔属性自动生成NSManagedObject的子类会导致警告

Ara*_*ash 5 xcode core-data objective-c ios

在CoreData Model中,我有一个名为TestEntity的实体.该实体有一个名为'deleted'的属性,其属性为boolean.

如果我使用Xcode为这个实体生成一个自动NSManagedObject子类,生成的类头看起来像这样:

@interface TestEntity : NSManagedObject

@property (nonatomic, retain) NSNumber * deleted;

@end
Run Code Online (Sandbox Code Playgroud)

我理解为什么NSNumber用于布尔属性.这与以前没有变化.问题是它现在向我显示了2个警告:

  1. 属性"已删除"的getter属性与从"NSManagedObject"继承的属性不匹配.
  2. 属性类型'NSNumber*'与从'NSManagedObject'继承的类型'BOOL'(又名'bool')不兼容.

我不想使用原始类型.任何想法如何摆脱这些警告?这可能是我正在使用的Xcode 6 beta 7(iOS 8 beta 5)的错误.已提交错误报告,因为使用Xcode自动生成的类在任何情况下都不会导致编译器警告.

gna*_*729 8

您设法使用一个名称与NSManagedObject的现有方法冲突的属性.

解决方案:更改属性的名称.不要将其称为"已删除",而是将其称为其他内容