首页 > 解决方案 > 尽管在项目中识别了类,但核心数据没有找到生成的托管类

问题描述

我遇到了我正在构建的 MacOS 应用程序的问题。Core Data 没有识别出我生成的托管对象类。在下面的代码中,“WindowMO”是来自 .xcdatamodel 文件的 codegen 生成的类,该文件与我提供服务的 ContentView 文件位于同一文件夹中。

尝试构建时的错误是:“任何模型中都没有 NSEntityDescriptions 声明 NSManagedObject 子类'Task_master.WindowMO',所以 +entity 很困惑。你加载你的 NSManagedObjectModel 了吗?”

我已经尝试将 .xcdatamodel 类中的“模块”设置设置为“当前产品模块”,并尝试使用模块名称来确定 XCode 没有在正确的文件夹中查找。XCode 的自动完成功能确实可以识别 WindowMO,所以我不知道为什么 Core Data 在尝试调用 .entity() 时不知道它。

//In ContentView.swift:

struct ContentView: View {
    @Environment(\.managedObjectContext) var moc
    let entity = Task_master.WindowMO.entity()
    @FetchRequest(entity: WindowMO.entity(), sortDescriptors: []) var allWindows: FetchedResults<WindowMO>
    // ^ Problem line, specifically WindowMO.entity() call. 
...

标签: swiftmacoscore-dataswiftui

解决方案


推荐阅读