我有一个包含Variable
属性number
和text
的类,并希望观察对这两个变量所做的任何更改。不需要这些属性的值。
在真实案例中,我要观察超过10 Variables
,所以也许应该可以将它们作为数组传递给 .asObservable()
。
let number: Variable<Int>
let text: Variable<String>
func doSomethingWhenAnyValueWasChanged() {
// some code
}
我如何实现这一目标?
我尝试以多种方式使用Observable.combineLatest()
,但这对我来说并不奏效。也许我错过了什么?
答案 0 :(得分:2)
从documentation起,看起来像Combine Latest将是您的最佳选择。
<强> CombineLatest 强>
当两个Observable中的任何一个发出一个项目时,将它组合起来 每个Observable通过指定函数发出的最新项目 根据此功能的结果发出项目。
let number: Variable<Int>
let text: Variable<String>
_ = Observable.combineLatest(number.asObservable(), text.asObservable()) { x, y in
doSomethingWhenAnyValueWasChanged()
}