Xcode 11无法识别核心数据实体

时间:2019-10-31 22:21:08

标签: swift xcode core-data entity swift4

我刚刚声明了一个名为“用户”数组的实体:

var UsersArray = [Users]()

我收到此错误:

  

使用未解决的标识符“用户”

提示:我确实导入了CoreData并创建了实体

5 个答案:

答案 0 :(得分:7)

如果您的实体是实际创建的,则只需关闭并重新打开XCode。每次都对我有用。其他解决方案,例如干净的构建,构建等,对我不起作用。

答案 1 :(得分:3)

在重命名实体后遇到了这个问题,并认为我应该在此处发布如何解决它。

通常,在更改数据模型并获得编译错误之后,我只需执行Product> Clean Build Folder,然后执行Product> Build,然后应解决这些错误。

但是,以上步骤对这次没有帮助。挠了一下头之后,我发现了执行以下步骤的罪魁祸首:

  1. 在项目导航器中,选择您的.xcdatamodelId文件
  2. 在“配置”部分中,选择适当的配置
  3. 查找有问题的实体,并确保类名正确(在我的情况下,实体和类不相同)

答案 2 :(得分:1)

请尝试此解决方案!

解决方案1:- Product->可以通过测试为我解决此问题(由于某种奇怪的原因,它解决了大多数无法解决的标识符错误)

解决方案2:- 更改导入基础以导入UIKit。 看来UIApplication没有包含在Foundation框架中。

解决方案3 :-突出显示数据模型,转到编辑器->创建NSManagedObject子类...

希望这对您有所帮助。

答案 3 :(得分:1)

其他可能的解决方案:

(A)重新启动Xcode

这是对我有用的解决方案。

(B)检查您是否没有忘记完成实体说明

通常:忘记为一种属性分配类型(仍然为“未定义”)。

(C)清除派生数据

原因:生成的核心数据管理对象子类的源代码文件位于项目的派生数据位置。 注意:您可能必须使用SPM重新链接swift软件包。

答案 4 :(得分:0)

即使在 SwiftUI 项目中使用最新的 Xcode12.3,我也不得不处理这个问题,而我在项目创建时没有检查 CoreData 选项。

在添加一个类来实例化 NSPersistentContainer、加载商店、使用实体和文本字段以及视图上的按钮创建 model.xcdatamodel 文件后,它显示一条错误消息:“无法在范围内查找项目”。

当您期望实体帮助自动完成时,编写代码有点困难。首先,我以为我忘记初始化我的类或错过了一个括号,但事实并非如此。

我多次尝试清理、重建和运行项目,结果构建失败。我不得不关闭这个特定的项目,然后所有的错误都被消除了。无需重启 Xcode。