swift - 我在 Xcode 10.2 上的 Swift4.2 中插入 NSManagedObject 后立即收到 Xcode 构建错误

标签 swift xcode nsmanagedobject

每次我将 NSManagedObject 子类添加到原始应用程序(启用了 CoreData)或添加到开始时未启用 CoreData 但后来添加的原始应用程序时,Xcode (10.2.1)/Swift (4.2) 都会抛出 3 个错误。

我正在尝试在 Xcode v10.2(刚刚更新到 10.2.1)中创建一个使用 Core Data 的简单应用程序。我试图通过两种方法来做到这一点,即。启动一个全新的应用程序并确保勾选核心数据,然后启动一个没有勾选核心数据的普通应用程序,然后添加核心数据。我遇到的问题是在我创建一个实体和一些实体属性之后发生的(每次都可以正常编译到那个点),但是当我从编辑器下拉列表中添加 NSManagedObject 子类时,问题就会发生。

一旦我添加了 NSManagedObject,Xcode 就会重新编制索引,我会收到 3 个错误,其中两个表示“多个命令产生...”,另一个表示 Command CompileSwiftSources 失败并返回非零退出代码。

我已经尝试重新创建 NSManagedObject,但这没有任何区别。我已按照说明添加构建语句(SWIFT_ENABLE_BATCH_MODE 设置为 NO),但这没有任何区别。

我并不想在这里做任何花哨的事情,只是将 NSManagedObject 子类作为 CoreData 的一部分启用,这样我就可以继续在 Xcode 10.2/Swift 4.2 上编写我的应用程序的其余部分。

此外,我刚刚更新到 Xcode 10.2.1,这没有任何区别,即。当您尝试添加 NSManagedObject 子类时,问题仍然存在。

有什么想法吗?

Screen shot of compiler errors

最佳答案

我找到答案了!!!关键是在堆栈溢出错误中搜索“构建失败并显示非零退出代码的命令失败”,在这些答案中,JeffreyWang23 在 2018 年 9 月 16 日发表的一篇文章解决了这个问题。

解决方案链接:stackoverflow.com/a/52357296/11407686 (所有功劳归功于另一篇文章的作者)。

我只是听从了从 Xcode 中删除 Entity+CoreDataClass.swiftEntity+CoreDataProperties.swift 的建议,然后在实体模型检查器的“类”下, 将 "module" 更改为 Current Product Module 并将 "codegen" 更改为 Manual/None,然后重新创建 NSManagedObject

然后所有错误都消失了! :) :) :)

关于swift - 我在 Xcode 10.2 上的 Swift4.2 中插入 NSManagedObject 后立即收到 Xcode 构建错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55839720/

相关文章:

objective-c - 哪种代码覆盖工具对 Xcode for Swift 项目有帮助?

ios - 如何从 react native 页面快速打开现有的ViewController?

iOS WatchKit/Swift - 在 WKInterfaceTable 行中延迟加载图像

ios - 增加 SwiftUI 中选项卡栏项目图标的大小

swift - 如何使用 SWRevealViewController 从 Swift 中的 UITabBarItem 打开侧边菜单

xcode - 安装 XCode 4 的最低 Mac 版本

xcode - UIBarButtonItem 没有出现在 UIToolbar Swift 上

ios - NSManagedObject 只保存最新的对象而不是整个对象

arrays - 更新 NSManagedObjects 数组

ios - 类别中的自定义 NSManagedObject setter