Core Data 自动生成了 my 的子类NSManagedObject
。我的实体包含一个名为isActive的布尔值。当子类自动生成时,该属性的类型为. 由于这是一个布尔值,我必须编写如下代码:NSNumber
if ([myEntity.isActive boolValue])
我觉得我很奇怪。解决这个问题的最佳方法是什么?
Core Data 自动生成了 my 的子类NSManagedObject
。我的实体包含一个名为isActive的布尔值。当子类自动生成时,该属性的类型为. 由于这是一个布尔值,我必须编写如下代码:NSNumber
if ([myEntity.isActive boolValue])
我觉得我很奇怪。解决这个问题的最佳方法是什么?
没有什么要解决的,真的,这很正常,并且按预期工作。
如果您只是不喜欢它,请在生成子类时选中标记为“对原始数据类型使用标量属性”的框。然后布尔属性将生成为BOOL
,因此没有任何理由调用boolValue
它们。
NSTimeInterval
您还提到了在您执行此操作时结束的日期属性。我同意,这很烦人。但是:您可以混合和匹配标量和对象属性。生成步骤没有什么神奇之处,你看到的代码就是它的全部。因此,使用标量属性生成,它为您提供:
@property (nonatomic) NSTimeInterval myDate;
然后只需将该行编辑为如下所示:
@property (nonatomic, retain) NSDate * created;
但请保持您的isActive
财产原样。瞧,对一个属性的标量访问,但对另一个属性的对象式访问。
当您使用“创建 NSManagedObject 子类”选项生成子类时,您必须取消选中“使用原始数据类型的标量属性”复选框。