Показать данные из 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 для получения дополнительных сведений.