显示来自CoreData的数据

时间:2020-02-19 14:51:17

标签: ios swiftui fetchrequest

我有一个SwiftUI项目,该项目使用带有产品实体的CoreData数据库。它具有2个属性,即id和条形码。 然后,我创建一个似乎有效的提取请求,但将导致空的[Products]。

当视图出现在屏幕上时,我得到错误

线程1:关于ForEach的EXC_BREAKPOINT(代码= 1,子代码= 0x1df9bda98)

我试图使其尽可能简单,但仍然存在问题。 我试图完全删除xcdatamodel文件并重新创建它,但问题仍然存在。

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)
            }
        }
    }

}

}

private struct ProductRow: View {
var product: Product

var body: some View {
    Text(product.barcode ?? "No name given")
}

}

Screencapture of the problematic code

1 个答案:

答案 0 :(得分:0)

在使用export const getCurrentQuarterRangeString = (quarter, year) => { // let year = moment().year(year); let start = moment().quarter(quarter).startOf('quarter').format('YYYY-MM-DD'); let end = moment().quarter(quarter).endOf('quarter').format('YYYY-MM-DD'); let dateRangeString = `${start};#${end}`; return dateRangeString; } 之前,您必须先将Core Data托管对象上下文注入到环境中,否则@FetchRequest不会为空,而是nil

有关更多详细信息,请参见https://github.com/andrewcbancroft/BlogIdeaList-SwiftUI/tree/master/BlogIdeaList-SwiftUI