1
に結合し、私は次のコードRxSwiftフィルタ、観察シーケンスと私は私のiOSのApp</p> <p>でテーブルビューを持つテーブルビュー
var cnList : Observable<[CountryCode]>?
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
cnList = readJson()
cnList?.bindTo(cTableView.rx.items(cellIdentifier: "country_code_cell")) {
_, countryCode, cell in
if let countryCodeCell = cell as? CountryCodeTableViewCell {
countryCodeCell.cNameLabel.text = countryCode.name
countryCodeCell.cCodeLabel.text = countryCode.dial_code!
}
}.addDisposableTo(disposeBag)
}
を使用してテーブルを初期化している今、私は、テキストフィールドを持っていると私はCLISTをフィルタリングしますそのテキストフィールドのテキストに基づいて
私は私が押してテキストを印刷することができ、キー
searchTextField.rx.text.asObservable().subscribe(onNext: {
text in
if text != nil && text != "" {
// need to filter cnList and update tableview here i think but how ??
}
}).addDisposableTo(disposeBag)
しかし、私はどのようにフィルタリングするのかわかりませんcnList
とtable view
これを行う方法は?多分このような
'readJson()'メソッドを呼び出して 'Observable.just(list)'を使って 'let list = [CountryCode]()'を変換しています。この 'list'を'変数<[CountryCode]> 'に変換する方法は? – LynAs
'変数(リスト)' –
あなたは第二の部分を向上させることができ、より機能的には: 'searchTextField.rx.text .filter {$ 0.characters.count> 0} .subscribe(onNext: 自己中{テキスト.cnList.value = self.cnList.value.filter({// some logic}) }) .addDisposableTo(bag) ' – XFreire