【问题标题】:Xcode 6: attribute error when compiling a NSManagedObject classXcode 6:编译 NSManagedObject 类时出现属性错误
【发布时间】:2015-07-21 18:10:21
【问题描述】:

在我的 coreData 模型中,我定义了一个具有多个属性的实体 MyEnity。其中有两个属性:

mute : Boolean 
deleted : Boolean

我有一个与MyEntity 关联的 NSManagedObject 类。在这堂课中,我有:

@NSManaged var mute: NSNumber
@NSManaged var deleted: NSNumber // compilation error

但第二行产生错误,无法编译。 这是我得到的错误:

“NSNumber”类型的“已删除”属性无法覆盖“Bool”类型的属性

我不明白问题出在哪里,为什么mute 属性没有同样的问题?

【问题讨论】:

  • 请尝试更改名称..而不是删除您将其更改为删除 1 并重试。
  • 请在CoreDataModel中检查deleted的类型是什么。然后请通过菜单中的编辑器选项卡重新创建 NSManagedObject 子类
  • 问题是属性名“已删除”。当我改变它时,我工作了。谢谢@Ashok
  • @Cherif 我认为删除可能是 iOS 中的关键字。所以我的评论对你有帮助吗?
  • 我自己找到了它……就在阅读您的评论之前。这是几秒钟的事情。把它作为一个答案,我会验证它;)

标签: ios xcode swift core-data


【解决方案1】:

NSManagedObject 有一个名为 deleted 的属性,如 here 所示,因此使用已删除的变量名称将覆盖该属性,在您的情况下使用不适当的类型(NSNumber 而不是 Bool),这会导致编译时错误

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-05
    相关资源
    最近更新 更多