我在使用RxSwift時遇到了問題。我的問題是: 如果我有很多輸入信號(具有不同元素的變量),可以由用戶更改,並且由於此更改,我想構建一個可觀察信號。我想我應該使用某種組合運算符,但例如combineLatest只允許兩個參數組合。將多個不同的觀測值合併爲一個可觀測的地址
讓我們來看看我有的輸入和輸出的例子。
import RxSwift
import RxCocoa
class ModelView {
private let api: ApiType
// inputs
let inType: Variable<MWItemQueryType>
let inFilterRetailers: Variable<Set<MWRetailer>>
let inFilterColors: Variable<Set<MWColor>>
let inFilterPriceRanges: Variable<Set<MWPriceRange>>
// outputs
let outQuery: Observable<MWItemQuery>
init(initialType: MWItemQueryType, api: ApiType) {
self.api = api
self.inType = Variable(initialType)
self.inFilterRetailers = Variable(Set<MWRetailer>())
self.inFilterColors = Variable(Set<MWColor>())
self.inFilterPriceRanges = Variable(Set<MWPriceRange>())
// TODO How to setup outQuery signal here
}
}
所以我必須有發射信號MWItemQuery
設置outQuery問題。當其中一個輸入參數改變時,必須發出MWItemQuery
信號。 MWItemQuery
然後發送到api從用戶選擇最新的過濾器從服務器獲取數據。我有很多其他輸入濾波器信號,我不知道是否有任何運營商可以幫助我。
感謝。有用!我沒有找到合適的例子。 –