如何在observedObject类中列出coreData对象

问题描述

我想将数据逻辑与ui视图分开,所以我使用了一个observedObject类UIManager从coreData中获取数据并在uiView中列出这些数据。

// UIView
struct UIView: View {
    @ObservedObject private var uiManager = UIManager.shared
    
    var body: some View {
        NavigationView {
            List {
                ForEach(uiManager.dataFromCoreDatas,id: \.id) { dataFromCoreData in  // in this line get a error.
                    Text(dataFromCOreData.name ?? "unknown name")
                }
            }
        }
    }
}

// UIManager
class UIManager: ObservableObject {
    static let shared = UIManager()
    @Environment(\.managedObjectContext) var moc
    @FetchRequest(entity: DataFromCoreData.entity(),sortDescriptors: []) var dataFromCoreDatas: FetchedResults<DataFromCoreData>
    ...
}

但是当我尝试执行这些代码时,它报告EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP,subcode=0x0)错误,表明我无法从coreData获取数据。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)