swift Xcode 11无法识别Core数据实体

d4so4syb  于 2023-08-02  发布在  Swift
关注(0)|答案(9)|浏览(161)

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

var UsersArray = [Users]()

字符串
我得到了这个错误:
使用未解析的标识符“用户”
提示:我确实导入了CoreData并创建了实体

mctunoxg

mctunoxg1#

请尝试这些解决方案!!

**解决方案1:-**Product->Build for testing为我解决了这个问题(它解决了大多数未解决的标识符bug,原因很奇怪)
**方案二:-**将import Foundation改为import UIKit。似乎UIApplication不包含在Foundation框架中。
解决方案3:-高亮显示数据模型,转到编辑器->创建NSManagedObject子类…
解决方案4:-创建NSManagedObject文件,然后删除它们,一切都修复了。

希望这对你有帮助,谢谢。

aor9mmx1

aor9mmx12#

如果你的实体真的被创建了,只需关闭并重新打开XCode。这对我每次都有效。其他的解决方案,如clean build,build等,对我不起作用。

o3imoua4

o3imoua43#

在重命名实体后遇到这个问题,我想我应该在这里发布我是如何解决它的。
通常,在数据模型中进行更改并获得编译错误后,我只需执行Product > Clean Build Folder,然后Product > Build,这样就可以解决错误。
然而,上面的步骤,这次却没有起到什么作用。在我的头抓了一会儿,我找到了罪魁祸首,步骤如下:
1.在Project导航器中,选择.xcdatamodelId文件
1.在Configurations部分中,选择适当的配置
1.查找有问题的实体并确保类名正确(在我的例子中,实体和类是不一样的)

wgx48brx

wgx48brx4#

其他可能的解决方案:

(A)重新启动Xcode

这就是我的解决方案。(See this answer

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

通常情况下:忘记为其中一个属性分配类型(仍然是“undefined”)。

(C)清除导出数据

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

eqqqjvef

eqqqjvef5#

我也不得不处理这个问题,即使在SwiftUI项目上使用最新的Xcode12.3,在项目创建时我没有检查CoreData选项。
在添加一个类来示例化NSPersistentContainer,加载商店,创建一个实体和一个文本字段以及视图上的按钮的model.xcdatamodel文件后,它显示一个错误:“无法在范围中找到项目”。
当您期望实体帮助自动完成时,编写代码有点困难。首先,我以为我忘了初始化我的类或错过了一个括号,但也不是那样。
我尝试清理,重建和运行项目多次与建设失败的结果。我不得不关闭这个特定的项目,然后所有的错误被解雇。不需要重新启动Xcode。

mftmpeh8

mftmpeh86#

我也面临着同样的问题。项目开始时不包括Coredata。后来添加了必要的文件和核心数据堆栈。但是当尝试从Entity name和Xcode中获取数据时,会抛出相同的错误。
后来,我关闭了这个项目,并再次在Xcode上打开,它开始工作。

8yoxcaq7

8yoxcaq77#

我在另一个项目中创建的.xcdatamodel有这个问题,并将其移动到这个项目中。
我通过选择.xcdatamodel文件解决了这个问题,打开“文件检查器”,然后在“目标成员”下,我确保所有目标都被选中。

x4shl7ld

x4shl7ld8#

对我来说,实体名和类名是不同的,我引用的是数据类型的实体名


的数据

dauxcl2d

dauxcl2d9#

1.单击您的数据模型,例如:DataModel.xcdatamodeld
1.单击编辑器>创建NSManagedObject子类它将通过扩展CoredataClass和另一个来创建类Item。删除所有这些(文件,只是生成)
1.现在尝试再次生成项目

相关问题