ios 订阅@Published的更改

knsnq2tg  于 9个月前  发布在  iOS
关注(0)|答案(1)|浏览(115)

我尝试将query的值绑定到SwiftUI视图中的搜索框。

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属性的更改。

7d7tgy0s

7d7tgy0s1#

我将使用以下方法

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)
    }
}

字符串

相关问题