Показать данные из CoreData - PullRequest
0 голосов
/ 19 февраля 2020

У меня есть проект SwiftUI, использующий базу данных CoreData с сущностью Product. Имеет 2 атрибута, идентификатор и штрих-код. Затем я создаю запрос на выборку, который, кажется, работает, но приводит к пустому [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")
}

}

Снимок экрана проблемати c код

1 Ответ

0 голосов
/ 19 февраля 2020

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

см. https://github.com/andrewcbancroft/BlogIdeaList-SwiftUI/tree/master/BlogIdeaList-SwiftUI для дальнейших деталей

...