Ios 显示CoreData中的数据
我有一个使用CoreData数据库的SwiftUI项目,其中包含一个产品实体。它有两个属性,id和条形码。 然后,我创建了一个fetch请求,该请求似乎有效,但将导致一个空的[Products] 当视图出现在屏幕上时,我得到了错误信息 线程1:ForEach上的EXC_断点(代码=1,子代码=0x1df9bda98),无其他信息 我试着让它尽可能简单,但我仍然有这个问题。 我试图完全删除xcdatamodel文件并重新创建它,但我一直存在这个问题Ios 显示CoreData中的数据,ios,swiftui,fetchrequest,Ios,Swiftui,Fetchrequest,我有一个使用CoreData数据库的SwiftUI项目,其中包含一个产品实体。它有两个属性,id和条形码。 然后,我创建了一个fetch请求,该请求似乎有效,但将导致一个空的[Products] 当视图出现在屏幕上时,我得到了错误信息 线程1:ForEach上的EXC_断点(代码=1,子代码=0x1df9bda98),无其他信息 我试着让它尽可能简单,但我仍然有这个问题。 我试图完全删除xcdatamodel文件并重新创建它,但我一直存在这个问题 private struct ProductLi
private struct ProductList: View {
@FetchRequest(
entity: Product.entity(),
sortDescriptors: []
) var products: FetchedResults<Product>
var body: some View {
VStack {
List{
ForEach(products, id: \.id) { product in
ProductRow(product: product)
}
}
}
}
}
在使用
@FetchRequest
之前,必须先将核心数据管理对象上下文注入到环境中,否则您的产品
不是空的,而是空的
有关更多详细信息,请参见,感谢您的回复。我确实将@Environment(\.managedObjectContext)var context添加到ProductList:View中,并确保它是在场景委托中创建的,使用n'guard let context=(UIApplication.shared.Delegate as?AppDelegate)?.persistentContainer.viewContext else{fatalError(“无法读取托管对象上下文”)}让startScreen=startScreen().environment(\.managedObjectContext,context)’但同样的问题仍然存在线程1:EXC\U BAD\U指令(代码=EXC\U I386\U INVOP,子代码=0x0)
private struct ProductRow: View {
var product: Product
var body: some View {
Text(product.barcode ?? "No name given")
}