首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Swift CoreData NSManagedObject子类

Swift CoreData NSManagedObject子类
EN

Stack Overflow用户
提问于 2016-11-02 22:22:34
回答 1查看 738关注 0票数 1

最近我想试用CoreData及其强大功能,所以我找到了一个简单的教程,在遵循它的同时,我创建了一个带有实体和关系的.xcdatamodeld文件。

我现在想做的是把它变成类(在Xcode版本8.1 (8B62)和Xcode版本8.2 beta (8C23)上试用)

为此,我打开了模型文件,单击了Editor -> Create NSManagedObject子类。这样做并选择我的两个实体将生成4个类,两个NSManagedObject类,每个类都有一个扩展。

在添加或生成这四个文件之后,Xcode将不会编译该项目并产生以下错误:

Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc failed with exit code 1

有时它还会说:Invalid redeclaration of [Managed Object Name]

任何洞察力都会很棒,我应该自己创建类而不使用模型吗?或者CoreData在Objc中工作?那我就转到那个..。

EN

回答 1

Stack Overflow用户

发布于 2016-11-03 00:15:39

Xcode 8增加了对自动核心数据子类生成的支持,您可以在文档macOS 10.12、iOS 10.0、tvOS 10.0和watchOS 3.0中的核心数据中有什么新的?中看到这些支持。新项目具有自动代码生成功能,因此当您手动创建NSManagedObject子类时,您创建了重复项,这将导致编译器错误。

有两种方法可以解决这个问题。首先,可以删除手动创建的NSManagedObject子类。其次,您可以从数据模型检查器中选择Codegen菜单中的手工/None来关闭数据模型的自动代码生成。如果您正在学习教程,我建议使用第二个选项,因为教程很可能是在Apple添加自动核心数据子类生成之前编写的。

您可以在以下文章中了解有关核心数据的代码生成的更多信息:

核心数据码生成

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40390820

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档