Xcode 11 无法识别核心数据实体
Xcode 11 doesn't recognize Core data Entity
我刚刚声明了一个名为 "Users" 数组的实体:
var UsersArray = [Users]()
我收到这个错误:
use of unresolved identifiers "Users"
提示:我确实导入了 CoreData 并创建了实体
请尝试这个解决方案!!
解决方案 1:-
Product->Build for testing 为我解决了这个问题(由于某些奇怪的原因,它解决了大多数未解决的标识符错误)
解决方案 2 :-
更改 import Foundation 以导入 UIKit。
UIApplication 似乎没有包含在 Foundation 框架中。
解决方案 3:- 突出显示数据模型,转到编辑器 -> 创建 NSManagedObject 子类...
解决方案 4:-
创建 NSManagedObject 文件,然后删除它们,一切都已修复。
希望对您有所帮助谢谢。
在重命名实体后 运行 进入这个问题,我想我应该 post 在这里我是如何解决它的。
通常在更改数据模型并出现编译错误后,我只需执行“产品”>“清理生成文件夹”,然后“产品”>“生成”,这应该可以解决错误。
然而,上述步骤这次没有帮助。摸不着头脑后,我通过以下步骤找到了罪魁祸首:
- 在项目导航器中,select 您的 .xcdatamodelId 文件
- 在配置部分,select适当的配置
- 查找有问题的实体并确保 class 名称正确(在我的例子中,实体和 class 不同)
其他可能的解决方案:
(A) Re-launch Xcode
这是对我有用的解决方案。 ()
(B) Check if you did not forget to finalize your entity description
通常:忘记为其中一个属性分配类型(仍为“未定义”)。
(C) Clear derived data
原因:生成的核心数据管理对象子类的源代码文件在项目的派生数据位置。
注意:您可能需要重新 link 您的 swift 软件包正在使用 SPM。
如果您的实体确实已创建,只需关闭并重新打开 XCode。这每次都对我有用。其他解决方案,例如干净构建、构建等,对我不起作用。
即使在 SwiftUI 项目上使用最新的 Xcode12.3,我也不得不处理这个问题,在项目创建时我没有检查 CoreData 选项。
添加 class 以实例化 NSPersistentContainer
后,加载商店,创建 model.xcdatamodel
文件,其中包含实体和文本字段以及视图上的按钮,然后显示一条错误消息:“在范围内找不到项目”。
当您希望实体帮助自动完成时,编写代码有点困难。首先,我以为我忘记初始化我的 class 或错过了一个括号,但也不是那样。
我多次尝试清理、重建和 运行 项目,结果构建失败。我不得不关闭这个特定项目,然后所有错误都被消除了。无需重启 Xcode.
我遇到了同样的问题。在项目开始时不包括 Coredata。后来添加了必要的文件和核心数据堆栈。但是当试图从实体名称和 Xcode 中获取数据时抛出相同的错误。
后来,我关闭了项目,然后在 Xcode 上再次打开,它开始工作了。
我在另一个项目中创建的 .xcdatamodel
遇到了这个问题,然后将它移到了这个项目中。
我通过选择 .xcdatamodel
文件解决了这个问题,关闭“文件检查器”,然后在“目标成员资格”下,确保所有目标都被选中。
我刚刚声明了一个名为 "Users" 数组的实体:
var UsersArray = [Users]()
我收到这个错误:
use of unresolved identifiers "Users"
提示:我确实导入了 CoreData 并创建了实体
请尝试这个解决方案!!
解决方案 1:- Product->Build for testing 为我解决了这个问题(由于某些奇怪的原因,它解决了大多数未解决的标识符错误)
解决方案 2 :- 更改 import Foundation 以导入 UIKit。 UIApplication 似乎没有包含在 Foundation 框架中。
解决方案 3:- 突出显示数据模型,转到编辑器 -> 创建 NSManagedObject 子类...
解决方案 4:- 创建 NSManagedObject 文件,然后删除它们,一切都已修复。
希望对您有所帮助谢谢。
在重命名实体后 运行 进入这个问题,我想我应该 post 在这里我是如何解决它的。
通常在更改数据模型并出现编译错误后,我只需执行“产品”>“清理生成文件夹”,然后“产品”>“生成”,这应该可以解决错误。
然而,上述步骤这次没有帮助。摸不着头脑后,我通过以下步骤找到了罪魁祸首:
- 在项目导航器中,select 您的 .xcdatamodelId 文件
- 在配置部分,select适当的配置
- 查找有问题的实体并确保 class 名称正确(在我的例子中,实体和 class 不同)
其他可能的解决方案:
(A) Re-launch Xcode
这是对我有用的解决方案。 (
(B) Check if you did not forget to finalize your entity description
通常:忘记为其中一个属性分配类型(仍为“未定义”)。
(C) Clear derived data
原因:生成的核心数据管理对象子类的源代码文件在项目的派生数据位置。 注意:您可能需要重新 link 您的 swift 软件包正在使用 SPM。
如果您的实体确实已创建,只需关闭并重新打开 XCode。这每次都对我有用。其他解决方案,例如干净构建、构建等,对我不起作用。
即使在 SwiftUI 项目上使用最新的 Xcode12.3,我也不得不处理这个问题,在项目创建时我没有检查 CoreData 选项。
添加 class 以实例化 NSPersistentContainer
后,加载商店,创建 model.xcdatamodel
文件,其中包含实体和文本字段以及视图上的按钮,然后显示一条错误消息:“在范围内找不到项目”。
当您希望实体帮助自动完成时,编写代码有点困难。首先,我以为我忘记初始化我的 class 或错过了一个括号,但也不是那样。
我多次尝试清理、重建和 运行 项目,结果构建失败。我不得不关闭这个特定项目,然后所有错误都被消除了。无需重启 Xcode.
我遇到了同样的问题。在项目开始时不包括 Coredata。后来添加了必要的文件和核心数据堆栈。但是当试图从实体名称和 Xcode 中获取数据时抛出相同的错误。
后来,我关闭了项目,然后在 Xcode 上再次打开,它开始工作了。
我在另一个项目中创建的 .xcdatamodel
遇到了这个问题,然后将它移到了这个项目中。
我通过选择 .xcdatamodel
文件解决了这个问题,关闭“文件检查器”,然后在“目标成员资格”下,确保所有目标都被选中。