找不到NSManagedObject的特定子类 迅速

我正在使用Core Data开发应用程序。当我

使用以下方法创建实例时:

let entity = NSEntityDescription.entityForName("User", inManagedObjectContext: appDelegate.managedObjectContext)

let user = User(entity: entity, insertIntoManagedObjectContext: appDelegate.managedObjectContext)

我在日志中收到警告:

CoreData: warning: Unable to load class named 'User' for entity 'User'.  Class not found, using default NSManagedObject instead.

我该如何解决?

还有另一个问题,如何在NSManagedObject

子类中定义实例方法?

回答:

Xcode 7的更新(最终):不再需要在类之前添加模块名称(如Xcode6和Xcode7的早期beta版本一样)。Apple文档“ 实现核心数据托管对象子类”已相应更新。

数据模型检查器现在为实体具有两个字段“类”和“模块” :

当您为实体创建Swift管理对象子类时,“模块”字段将设置为“当前产品模块”,并且使用此设置,

可以在主应用程序和单元测试中创建实例。托管对象子类不得标记@objc(classname)。

或者,您可以清空“模块”字段(它将显示“无”)并用标记托管对象子类@objc(classname)

备注:此答案最初是为Xcode 6写的。

针对此问题,各种Xcode 7 beta版本中都有一些更改。

由于它是一个被接受的答案,带有很多支持和链接,因此,我试图

总结当前Xcode 7最终版本的情况。

我进行了自己的“研究”,并阅读了该问题

和类似问题CoreData的

所有答案:警告:无法加载 名为的类。因此,归因于所有这些人,即使我没有

具体列出它们!

以上是 找不到NSManagedObject的特定子类 迅速 的全部内容, 来源链接: utcz.com/qa/418582.html

回到顶部