订阅对@Published的更改 [英] Subscribing to changes to @Published
本文介绍了订阅对@Published的更改的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试将 query
的值绑定到位于 SwiftUI
视图中的搜索框.
I am trying to bind the value of query
to a search box sitting in a SwiftUI
view.
class DataSet: ObservedObject {
...
@Published var query: String = ""
init() {
let sub = AnySubscriber<String, Never>(
receiveSubscription: nil,
receiveValue: { query in
print(query)
return .unlimited
})
self.$query.subscribe(sub)
}
...
}
当用户更改 query
的值时,我想在 ObservedObject
中过滤其他一些属性.但是我在文档中找不到任何地方如何订阅对 query
属性的更改.
When the user changes the value of the query
I'd like to filter some other property in my ObservedObject
. Yet I cannot find anywhere in the documentation how do I subscribe to changes to query
property.
推荐答案
我将使用以下方法
class DataSet: ObservableObject {
@Published var query: String = ""
private var subscribers = Set<AnyCancellable>()
init() {
self.$query
.sink { newQuery in
// do something here with newQuery
}
.store(in: &subscribers)
}
}
这篇关于订阅对@Published的更改的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文