vid*_*joe 9 reactive-programming ios swift reactive
有没有办法在 RxSwift 中的 combineLatest 中放置 8 个以上的 observable?
这是我目前的实现:
let registerUserParameters = Observable.combineLatest(
firstname.asObservable(),
lastname.asObservable(),
email.asObservable(),
mobile.asObservable(),
addresses.asObservable(),
cities.asObservable(),
pword.asObservable(),
confirm_pword.asObservable(),
instagramid.asObservable(),
facebookid.asObservable()) {
($0, $1, $2, $3, $4, $5, $6, $7, $8, $9)
}
Run Code Online (Sandbox Code Playgroud)
我发现 combineLatest 根据其功能最多只接受 8 个参数。
public static func combineLatest<O1, O2, O3, O4, O5, O6, O7, O8>(_ source1: O1, _ source2: O2, _ source3: O3, _ source4: O4, _ source5: O5, _ source6: O6, _ source7: O7, _ source8: O8, resultSelector: @escaping (O1.E, O2.E, O3.E, O4.E, O5.E, O6.E, O7.E, O8.E) throws -> Self.E) -> RxSwift.Observable<Self.E> where O1 : ObservableType, O2 : ObservableType, O3 : ObservableType, O4 : ObservableType, O5 : ObservableType, O6 : ObservableType, O7 : ObservableType, O8 : ObservableType)
Run Code Online (Sandbox Code Playgroud)
Swe*_*per 13
你可以只组合前 8 个,得到组合的 observable,然后组合最后 2 个,得到组合的 observable,然后组合两个 observable。
let first8 = Observable.combineLatest(
firstname.asObservable(),
lastname.asObservable(),
email.asObservable(),
mobile.asObservable(),
addresses.asObservable(),
cities.asObservable(),
pword.asObservable(),
confirm_pword.asObservable()) {
($0, $1, $2, $3, $4, $5, $6, $7)
}
let last2 = Observable.combineLatest(
instagramid.asObservable(),
facebookid.asObservable()) {
($0, $1)
}
let registerUserParameters = Observable.combineLatest(first8, last2) {
($0.0, $0.1, $0.2, $0.3, $0.4, $0.5, $0.6, $0.7, $1.0, $1.1)
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1513 次 |
最近记录: |