2017-02-17 10 views
5

क्या एक पर्यवेक्षक के साथ UIPickerView बांधने का कोई तरीका है?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 के भंडार से बॉक्स से बाहर प्रयोग करने योग्य कुछ भी नहीं है । कोई 'यूआईटीबल व्यू' बाइंडिंग के लिए इस्तेमाल किए गए कोड को देख सकता है जो 'यूआईपीकर व्यू' के लिए कुछ समान होता है, लेकिन आपको आरएक्सस्विफ्ट के साथ एक अच्छा अच्छा अनुभव चाहिए कि यह कैसे काम करता है (कम से कम, ** मैं * * कोशिश की और असफल) – 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)