Я пытаюсь отобразить результаты запроса realmdb в списке SwiftUI, но у меня возникают проблемы при удалении объектов базы данных.
Я пытаюсь использовать что-то вроде этого:
final class DBData: ObservableObject{
let didChange = PassthroughSubject<DBData, Never>()
private var notificationTokens: [NotificationToken] = []
var events = try! Realm().objects(ADMEvent.self)
@Published var events: [ADMEvent] = []
init() {
// Observe changes in the underlying model
self.notificationTokens.append(posts.observe { _ in
self.events = Array(self.posts)
self.didChange.send(self)
})
}
}
, что работает, если я отображаю элементы в списке, но в тот момент, когда я использую realm.deleteAll (), приложение вылетает, потому что оно выглядит какРеализация списка в Swift UI пытается изменить список, получая доступ к недействительным объектам db области.
Есть примерно 3 или 4 похожих вопроса о переполнении стека, но все они так или иначе устарели или работают, но все же имеют эту проблему, когда дело доходит до удаления.
Спасибо!