Описание:
Когда объект в списке (созданный из выборочного запроса) удаляется из контекста и контекст сохраняется, список не обновляется должным образом.
Ошибка:
Поток 1: фатальная ошибка: неожиданно обнаружен ноль при развертывании необязательного значения (добавлено в строку 5 ниже)
struct DetailView: View {
@ObservedObject var event: Event
var body: some View {
Text("\(event.timestamp!, formatter: dateFormatter)")
.navigationBarTitle(Text("Detail"))
}
}
Действия для воспроизведения:
Создание нового проекта приложения Master Detail с SwiftUI и базовыми данными.
В ContentView установите тело к TabView с первой вкладкой, являющейся предварительно созданным NavigationView, и добавьте вторую произвольную вкладку.
struct ContentView: View {
@Environment(\.managedObjectContext)
var viewContext
var body: some View {
TabView {
NavigationView {
MasterView()
.navigationBarTitle(Text("Master"))
.navigationBarItems(
leading: EditButton(),
trailing: Button(
action: {
withAnimation { Event.create(in: self.viewContext) }
}
) {
Image(systemName: "plus")
}
)
Text("Detail view content goes here")
.navigationBarTitle(Text("Detail"))
}
.navigationViewStyle(DoubleColumnNavigationViewStyle())
.tabItem { Text("Main") }
Text("Other Tab")
.tabItem { Text("Other Tab") }
}
}
}
Добавьте несколько предметов. Взаимодействовать с этими элементами любым способом. Изменить вкладки. Вернуться на главную вкладку. Попытаться удалить элемент.