是否可以限制didSet,使其在一个时间间隔内仅触发一次,例如每秒一次,而不是每秒多次?喜欢某种去抖方法吗?
@Published var someProperty: String = "" {didSet {
Task {
await someFunction(someParamater: someProperty)
}
}}
最佳答案
每个@Published
属性都有一个合并发布者。您可以订阅该发布者并像这样取消它:
myModel.$someProperty
.debounce(...)
.sink { value in
// Do what you wanted to do in didSet
}
.store(in: &cancellables)
关于swift - 如何延迟 swift 属性 didSet 以便每秒只触发一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75163760/