ios - Xcode 显示在 CoreData 类上使用未声明的类型

标签 ios swift xcode core-data

我在使用 Xcode 时遇到问题,我的 CoreData 类的所有用法都显示 Use of undeclared type [class name]。该项目可以正确构建和运行,但我引用我的 CoreData 类的所有实例都会在 Xcode 中突出显示红色警告,并且所有代码完成都不起作用。还有其他人遇到过这个问题吗?这是我尝试过的:

  • 删除派生数据
  • 清洁
  • 清理构建文件夹
  • 删除文件(Developer/Xcode/Archives)
  • 删除产品(开发人员/Xcode/产品)
  • 删除并重新添加 xcdatamodeld 文件
  • 重启 Xcode
  • 重启我的 Mac

我正在使用 Xcode 9.4.1(不能使用 10 的 beta 版本)并且已经没有想法了。代码库是用 Swift 4 编写的。感谢任何帮助。

最佳答案

看起来和CoreData的代码生成有关。以前,将 codegen 变为 None 然后将其改回 Class Definitions 是可行的。似乎这不再为我解决问题。我将所有实体设置为生成类定义:

enter image description here

在我将其更改为“手动”并手动生成我的类后,一切都按预期工作。

  1. 将此设置更改为手动/无
  2. 手动生成类(编辑器 > 创建 NSManagedObject 子类... > 选择您的模型 > 选择所有实体)
  3. 删除派生数据文件夹

关于ios - Xcode 显示在 CoreData 类上使用未声明的类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51974465/

相关文章:

ios - 即使应用程序未启动,whatsapp 如何处理 APNS 通知?

ios - 如何找出 NSData 数组的长度?

ios - App Tracking Transparency 如何影响显示广告的应用程序? - IDFA iOS14

ios - 如何在Xcode中配置和运行 objective-c 测试用例--XCTest

objective-c - 如何在我的倒计时 ios 应用程序中使用用户的输入?

ios - BLE 设备在 cancelPeripheralConnection 后重新连接(如何忘记 BLE 设备?)

swift - 降低didEnterRegion的阈值

ios - 在同一 UILabel 上的两个不同文本之间重复淡入/淡出

swift - TabbarController 子 Controller 总是返回 nil - Swift 4

iphone - 如何自动发送短信?