SwiftUI Core Data WatchOS 中的此错误是什么意思?

What does this Error in SwiftUI Core Data WatchOS mean?

提问人:Kataran 提问时间:9/24/2020 最后编辑:Kataran 更新时间:9/24/2020 访问量:96

问:

我有一个处理核心数据的 iOS 应用程序。 现在我想创建一个具有一些 iOS 视图的 watchOS 应用程序。

我的目标是让用户在 Watch 上创建一个 CoreData 对象。

如果我在 CoreData 文件的目标成员资格中选择监视扩展并为我的对象创建一个 FetchRequest,则在我打开该视图之前一切正常。 如果我打开视图,则收到以下错误代码:

Thread 1: EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)

我读到UserDefaults有某种解决方案,但我没有找到CoreData的任何解决方案。

有谁知道如何解决这个问题以及如何正确获取核心数据?

编辑: CoreData 文件:通过 XCode12 生成

import CoreData

struct PersistenceController {
    static let shared = PersistenceController()

    static var preview: PersistenceController = {
        let result = PersistenceController(inMemory: true)
        let viewContext = result.container.viewContext
        
        do {
            try viewContext.save()
        } catch {
            
            let nsError = error as NSError
            fatalError("Unresolved error \(nsError), \(nsError.userInfo)")
        }
        return result
    }()

    let container: NSPersistentCloudKitContainer
    
    init(inMemory: Bool = false) {
        container = NSPersistentCloudKitContainer(name: "Fitness")
        
        if inMemory {
            container.persistentStoreDescriptions.first!.url = URL(fileURLWithPath: "/dev/null")
        }
        container.loadPersistentStores(completionHandler: { (storeDescription, error) in
            if let error = error as NSError? {
                
                fatalError("Unresolved error \(error), \(error.userInfo)")
            }
        })
    }
}

监视扩展中的提取请求

@Environment(\.managedObjectContext) var viewContext

@FetchRequest(
        entity: Item.entity(),
        sortDescriptors: [NSSortDescriptor(keyPath: \Item.name, ascending: false)]
    ) var Itemlist: FetchedResults<Item>
    

我与手表扩展共享了所有相关文件。

Swift iPhone Xcode Core-Data WatchOS

评论

0赞 Itay Brenner 9/24/2020
请添加有关如何访问 CoreData 上下文的更多详细信息,似乎类似于以下内容:stackoverflow.com/questions/40500684/...
0赞 Kataran 9/24/2020
我编辑了问题

答: 暂无答案