2017-02-17 35 views
5

有沒有辦法將UIPickerView與Observable綁定?RxSwift和UIPickerView

例如,對於一個UITableView我會做:

myObservableArray.bindTo(tableView.rx.items(cellIdentifier: "Identifier", cellType: MyCustomTableViewCell.self)) { (row, title, cell) in 
     cell.textLabel?.text = title 
    } 
    .disposed(by: disposeBag) 

是否有UIPickerView類似的東西?

+0

沒有什麼可用的開箱從RxSwift的存儲庫。我們可以看看用於'UITableView'綁定的代碼來爲'UIPickerView'提供類似的東西,但是您需要一個很好的RxSwift體驗來了解它是如何工作的(至少,** I * *嘗試失敗) – tomahh

+1

請看看這個答案:https://stackoverflow.com/a/46225009/1953178 –

回答

0
您選擇器的

提供的數據來源是這樣的:

let pickerDataSource: [[String]] = [ ["asdadadad", "sffgddfg"], 
            ["sfsdasgag", "sdfasdfasfsf", "sdsfgagagaggs"] ] 

你可以實現「綁定」你用這種方式需要:

pickerView.rx.itemSelected.subscribe(onNext: { [weak self] row, component in 
    guard let s = self else { return } 
    s.label.text = s.pickerDataSource[component][row] 
}).addDisposableTo(disposeBag)