我正在尝试在 SwiftUI 列表中显示 realmdb 查询的结果,但在删除数据库对象时遇到问题。
我正在尝试使用这样的东西:
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 的列表实现试图区分列表,访问现在无效的领域数据库对象。
关于堆栈溢出有 3 或 4 个类似的问题,但它们都以某种方式过时,或者工作但在删除时仍然存在这个问题。
谢谢!