Показать данные из CoreData

У меня есть проект SwiftUI, использующий базу данных CoreData с сущностью Product в нем. У него есть 2 атрибута: id и штрих-код. Затем я создаю запрос на выборку, который, кажется, работает, но приведет к пустому [Products].

Когда на экране появляется представление, я получаю сообщение об ошибке

Тема 1: EXC_BREAKPOINT (code=1, subcode=0x1df9bda98) на ForEach и никакой другой информации.

Я постарался сделать это как можно проще, но проблема не исчезла. Я попытался полностью удалить файл 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")
}

}

Снимок экрана с проблемным кодом

1 ответ

Перед использованием @FetchRequest вы должны сначала внедрить контекст управляемого объекта Core Data в среду, иначе ваш products не пусто, но ноль

см. https://github.com/andrewcbancroft/BlogIdeaList-SwiftUI/tree/master/BlogIdeaList-SwiftUI для получения дополнительных сведений.

Другие вопросы по тегам