有没有可能限制didSet,让它在一个时间间隔内只触发一次,比如每秒一次,而不是一秒内多次触发,就像某种去抖动方法?
@Published var someProperty: String = "" {didSet { Task { await someFunction(someParamater: someProperty) } }}
chy5wohz1#
每个@Published属性都有一个合并发布者。您可以订阅此发布者并按如下方式解除抖动:
@Published
myModel.$someProperty .debounce(...) .sink { value in // Do what you wanted to do in didSet } .store(in: &cancellables)
1条答案
按热度按时间chy5wohz1#
每个
@Published
属性都有一个合并发布者。您可以订阅此发布者并按如下方式解除抖动: