Как наблюдать несколько переменных для события .next, игнорируя значения в RxSwift - PullRequest
0 голосов
/ 02 мая 2018

У меня есть класс со свойствами Variable number и text, и я хочу наблюдать за любыми изменениями в обеих переменных. Значения этих свойств не нужны.

В моем реальном случае у меня есть более 10 Variables для наблюдения, поэтому, возможно, должна быть возможность передать их как массив .asObservable().

let number: Variable<Int>

let text:   Variable<String>

func doSomethingWhenAnyValueWasChanged() {
    // some code
}

Как мне этого добиться?

Я пытался сделать это с Observable.combineLatest() несколькими способами, но у меня это не сработало. Может я что то пропустил?

1 Ответ

0 голосов
/ 02 мая 2018

Из документации похоже, что Combine Latest будет вашим лучшим вариантом.

CombineLatest

когда элемент испускается одной из двух наблюдаемых, объедините последний элемент, испускаемый каждым наблюдаемым через указанную функцию и испускать предметы на основе результатов этой функции.

let number: Variable<Int>

let text:   Variable<String>

_ = Observable.combineLatest(number.asObservable(), text.asObservable()) { x, y in
       doSomethingWhenAnyValueWasChanged()
}
...