每次我将NSManagedObject子类添加到原始应用程序(启用CoreData)或添加到未启用CoreData的原始应用程序时,但在添加之后,Xcode(10.2.1)/ Swift(4.2)都会抛出3个错误。
我正在尝试在使用核心数据的Xcode v10.2(刚刚更新到10.2.1)中创建一个简单的应用程序。我试图通过两种方法做到这一点,即。启动一个全新的应用程序并确保选中了核心数据,还启动了一个没有选中核心数据的原始应用程序,然后添加了核心数据。创建一个实体和一些实体属性(每次编译到该点时一切正常)之后,我遇到的问题就出现了,但是,一旦我从编辑器下拉列表中添加NSManagedObject子类,就会出现这个问题。
一旦我添加了NSManagedObject,Xcode重新索引并且出现3个错误,其中两个指出“产生多个命令...”,另一个指出命令CompileSwiftSources失败,退出代码为非零。
我试图重新创建NSManagedObject,但这没有什么区别。我已按照说明添加了一个构建语句(将SWIFT_ENABLE_BATCH_MODE设置为NO),但这没有什么区别。
我不想在这里做任何花哨的事情,只是将NSManagedObject子类作为CoreData的一部分启用,这样我就可以继续在Xcode 10.2 / Swift 4.2上编写我的应用程序的其余部分了。 / p>
我也刚刚更新到Xcode 10.2.1,这没有什么区别,即。当您尝试添加NSManagedObject子类时,仍然会出现问题。
有任何想法吗?
答案 0 :(得分:0)
我找到了答案!!!关键是在堆栈溢出中搜索“构建失败并显示“命令失败,返回非零退出代码失败””的错误,在这些答案中,JeffreyWang23在9月16日发表了一篇帖子,对此进行了修复。
与解决方案的链接:stackoverflow.com/a/52357296/11407686(所有文章归功于另一篇文章的作者)。
我刚刚遵循了从Xcode中删除Entity+CoreDataClass.swift
和Entity+CoreDataProperties.swift
的建议,然后在实体模型检查器的“类”下,将"module"
更改为Current Product Module
并"codegen"
至Manual/None
,然后重新创建NSManagedObject
。
所有错误随后消失了! :) :):)
答案 1 :(得分:0)
要解决此问题,应在项目导航器中选择xcdatamodeld文件,选择实体并按⌥⌘3(数据模型检查器)。
如果您手动创建了类,则必须将Codegen弹出窗口设置为“手动/无”,否则将隐式创建类文件。