我可以在 tableView.rx 中選擇行,但我想知道如何獲得最終選擇的陣列。我的意思是選擇一些行然后取消選擇一些行的結果陣列。
這是我的代碼:
Observable.zip(tableView.rx.modelSelected(Country.self), tableView.rx.itemSelected).subscribe(onNext: { (selectedCountry, indexPath) in
print("2 selected Country is \(selectedCountry) and indexPath is \(indexPath.row)")
self.selectedCountries.append(selectedCountry)
我還希望看到選定的行已標記。
感謝您的幫助。謝謝
uj5u.com熱心網友回復:
首先你必須使用這個:
tableView.allowsMultipleSelection = true
然后你可以使用這些來做任何你想做的事情:
let selectedItems = tableView.rx.modelSelected(Country.self).subscribe { item in
print("selected: \(item)")
print("selected rows: \(self.tableView.indexPathsForSelectedRows)")
}
let deselectedItems = tableView.rx.modelDeselected(Country.self).subscribe { item in
print("deselected: \(item)")
}
uj5u.com熱心網友回復:
這將產生一個可觀察的 indexPaths 陣列:
tableView.allowsMultipleSelection = true
let selectedItems = Observable.merge(
tableView.rx.itemSelected.asObservable(),
tableView.rx.itemDeselected.asObservable()
)
.flatMap { [tableView] _ in
Observable.just(tableView.indexPathsForSelectedRows ?? [])
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/427930.html
