swiftui/combine:观察nsmanagebject实体
我有一个问题,即如何观察nsmanageObject实体。例如,我有这两个Coredata实体(todo
和完成
):
但是我想观察完成的实体何时更改。目前,我有以下内容:
class ViewModel: ObservableObject {
@Published internal var todo:[Todo] = []
private var cancellables = Set<AnyCancellable>()
private var context: NSManagedObjectContext
private let persistanceContainer = PersistanceController.share
init() {
self.context = persistanceContainer.container.viewContext
NotificationCenter.default.publisher(for: .NSManagedObjectContextObjectsDidChange)
.sink { _ in
print("sink")
} receiveValue: { _ in
print("new value")
}.store(in: &cancellables)
}
}
此实施的问题是,每当任何一个实体都有更改时,我都会收到通知。你们中有人知道我如何在这种情况下指定特定实体实体吗?
I have a question regarding how can observe am NSManageObject entity. For example I have this two CoreData entities(Todo
and Done
):
But I want to observe when the done entity has change. Currently I have the following:
class ViewModel: ObservableObject {
@Published internal var todo:[Todo] = []
private var cancellables = Set<AnyCancellable>()
private var context: NSManagedObjectContext
private let persistanceContainer = PersistanceController.share
init() {
self.context = persistanceContainer.container.viewContext
NotificationCenter.default.publisher(for: .NSManagedObjectContextObjectsDidChange)
.sink { _ in
print("sink")
} receiveValue: { _ in
print("new value")
}.store(in: &cancellables)
}
}
The problem with this implementation is I'm getting a notification every time either entity has change. Any of you knows how I specify a particular entity in this case Done
entity?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论