Понимание различий между ZIP и CombinElatest с RXSWIFT для параметров последовательностиIOS

Программируем под IOS
Anonymous
Понимание различий между ZIP и CombinElatest с RXSWIFT для параметров последовательности

Сообщение Anonymous »

Я использовал две функции. First CombineLatest :

Код: Выделить всё

        enum Weather {
case cloudy
case sunny
}
let left: Observable = Observable.of(.sunny, .cloudy, .cloudy, .sunny)
let right = Observable.of("Lisbon", "Copenhagen", "London", "Madrid", "Vienna")
let observable = Observable.combineLatest(left, right) { weather, city in
return "It's \(weather) in \(city)"
}
_ = observable.subscribe(onNext: { value in
print(value)
})
< /code>
с выводом: < /p>
Это солнечно в Лиссабоне
Это облачно в Лиссабоне
Облачно в копенгагене
Облачно в Копенхагене
это облачно в лондоне
It's Sunny в лондонском Вена 
и Zip 
:

Код: Выделить всё

        enum Weather {
case cloudy
case sunny
}
let left: Observable = Observable.of(.sunny, .cloudy, .cloudy, .sunny)
let right = Observable.of("Lisbon", "Copenhagen", "London", "Madrid", "Vienna")
let observable = Observable.zip(left, right) { weather, city in
return "It's \(weather) in \(city)"
}
_ = observable.subscribe(onNext: { value in
print(value)
})
< /code>
с выводом: < /p>
Это солнечно в Лиссабоне
Это облачно в Копенгагене
Это облачно в Лондоне
Это солнечно в Мадриде < /pre>
Как это работает? Я понимаю, что ZIP просто отображает значения один к одному, и если нет значения для того же индекса, он просто пропустит его. Но как понять CombinElatest 
?


Подробнее здесь: https://stackoverflow.com/questions/683 ... r-sequence

Вернуться в «IOS»