当变量值更改时,我正在使用接收器方法来调用函数。 代码可在iOS 13.2.2上运行,但不能在iOS 13.3上运行。当segmentedSelected变量更改时,未调用函数segmentedChanged。
public class ChooseViewModel: ObservableObject {
@Published var segmentedSelected = Int()
init() {
_ = $segmentedSelected
.debounce(for: .seconds(0.1), scheduler: DispatchQueue.main)
.sink(receiveValue: self.segmentedChanged(indexValue:))
}
func segmentedChanged(indexValue segIndex: Int) {
print(segIndex)
}
}
答案 0 :(得分:2)
这可能是由于可撤销的固定释放(只是一个假设)。尝试以下
var cancellables = Set<AnyCancellable>()
init() {
$segmentedSelected
.debounce(for: .seconds(0.1), scheduler: DispatchQueue.main)
.sink(receiveValue: self.segmentedChanged(indexValue:))
.store(in: &cancellables)
}