是否不需要在 Swift 3 中继承 NSManagedObject ?
Posted
技术标签:
【中文标题】是否不需要在 Swift 3 中继承 NSManagedObject ?【英文标题】:Is it unnecessary to subclass NSManagedObject in Swift 3? 【发布时间】:2016-11-02 07:51:22 【问题描述】:我以前知道您必须“编辑器”>“创建 NSManagedObject 子类”才能在您的类中引用核心数据的实体名称。但是,在创建这些自动子类后,我遇到了几个错误。
我的项目运行良好没有这些子类文件,那么 Swift 3 不再需要子类化来引用实体了吗?
【问题讨论】:
【参考方案1】:在 Swift 3 中,您无需手动为 NSManagedObject
s 创建子类。
默认情况下,它们是自动创建的。但是,如果您想手动创建文件,请将 Codegen
设置为 Manual/None
在您的 testCD.xcdatamodeld
的实用程序区域中。
来自苹果的What's new in Core Data:
Xcode 自动子类生成
Xcode 现在支持在建模工具中自动生成 NSManagedObject 子类。在实体检查器中:
Manual/None 是默认的,也是以前的行为;在这种情况下,你 应该实现您自己的子类或使用 NSManagedObject。 Category/Extension 在名为 类名+CoreDataGeneratedProperties。您需要声明/实施 主类(如果在 Obj-C 中,通过扩展可以导入的标头 命名为 ClassName.h)。 类定义生成命名为 ClassName+CoreDataClass 的子类文件以及为 Category/Extension 生成的文件。生成的文件放置在 DerivedData 中,并在模型保存后的第一次构建时重新构建。它们也被 Xcode 索引,因此通过命令单击引用和按文件名快速打开是可行的。
【讨论】:
以上是关于是否不需要在 Swift 3 中继承 NSManagedObject ?的主要内容,如果未能解决你的问题,请参考以下文章
在创建新文件时在Swift中继承Viewcontroller