Nur für den Datensatz, bevor ich in meine Frage starten, verwende ich Swift 2 und xcode 7 Beta.Wie kann ich die Kontrolle über canEditRowAtIndexPath bei der Verwendung von RxCocoa Erweiterung für UITableView
Also verwende ich RxSwift und RxCocoa, um mein ViewModel an das TableView zu binden. In meinem UITableViewController viewDidLoad ich diese Bindung ... tue
someCollectionOfViewModels
.bindTo(self.tableView.rx_itemsWithCellIdentifier("SomeCell")) {
(_, viewModel, cell: SomeTableViewCell) in
cell.tripViewModel = viewModel
}
someCollectionOfViewModels ist nur ein Array von Ansichtsmodelle in einer Variable < gewickelt>, so Variable < [SomeViewModel]>. cell.tripViewModel ist vom Typ SomeViewModel.
Nichts davon ist wirklich relevant für das Problem, es funktioniert alles gut und wenn mein Ansichtsmodell aktualisiert, meine Tabelle aktualisiert. Das Problem ist, dass ich möchte, dass meine Tabellenzellen nicht editierbar sind und dass die UITableViewDataSource, die RxCocoa für die obige Bindung einfügt, nicht die optionale canEditRowAtIndexPath-Methode für dieses Protokoll implementiert und sie standardmäßig auf "true" setzt und die Zellen editierbar macht. Ich weiß, dass ich meine eigene RxTableViewDataSourceType implementieren kann, und das ist ziemlich einfach, aber eine Menge Code, nur um diese eine kleine Sache zu funktionieren. Ich bin sowohl mit RxSwift als auch mit iOS ziemlich neu, vermisse ich etwas Einfaches? Gibt es einen Weg in der obigen Schließung, wo ich Zugriff auf die UITableCellView habe, um eine Eigenschaft auf der Zelle selbst zu setzen, damit sie nicht editierbar ist? Wie wäre es mit etwas in den RxCocoa Erweiterungen, die ich vermisse? Wenn ich muss, werde ich gehen und meine eigene RxTableViewDataSource schreiben, aber ich dachte, ich würde hier zuerst fragen.
Danke,
-Bill
Haben Sie eine Lösung gefunden? – Noxt