RxSwift: wählen Sie die Zip mit verschiedenen observablen geben
Ich bin mit RxSwift 2.0.0-beta
Wie kann ich die kombinieren 2 observablen der verschiedenen Arten in eine zip-Manier?
//This works
[just(1), just(1)].zip { intElements in
return intElements.count
}
//This doesn't
[just(1), just("one")].zip { differentTypeElements in
return differentTypeElements.count
}
Die aktuelle vorläufige Lösung ich habe ist die Karte alles, was für eine optionale Tupel, das die Typen, dann die Reißverschlüsse optional Tupel in eine nicht-optionale.
let intObs = just(1)
.map { int -> (int: Int?, string: String?) in
return (int: int, string: nil)
}
let stringObs = just("string")
.map { string -> (int: Int?, string: String?) in
return (int: nil, string: string)
}
[intObs, stringObs].zip { (optionalPairs) -> (int: Int, string: String) in
return (int: optionalPairs[0].int!, string: optionalPairs[1].string!)
}
Dass klar ist ziemlich hässlich aber. Was ist der bessere Weg?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies funktioniert für mich. Getestet habe ich es in Xcode7, RxSwift-2.0.0-beta
zip
. Danke!Hier ist, wie man es Arbeit für RxSwift 2.3+
oder