在我提出问题之前,我正在使用 Swift 2 和 xcode 7 beta 进行记录。
所以我使用 RxSwift 和 RxCocoa 将我的 ViewModel 绑定到 TableView。在我的UITableViewController
viewDidLoad
我正在做这个绑定......
someCollectionOfViewModels
.bindTo(self.tableView.rx_itemsWithCellIdentifier("SomeCell")) {
(_, viewModel, cell: SomeTableViewCell) in
cell.tripViewModel = viewModel
}
someCollectionOfViewModels
只是一个包含在 a 中的视图模型数组Variable<>
,因此Variable<[SomeViewModel]>.cell.tripViewModel
是 type SomeViewModel
。
这些都与问题无关,一切都很好,当我的视图模型更新时,我的表也会更新。问题是我希望我的表格单元格是不可编辑的UITableViewDataSource
,并且 RxCocoa 为上述绑定设置的并没有实现canEditRowAtIndexPath
此协议上的可选方法,它默认为 true 使单元格可编辑。我知道我可以实现自己的RxTableViewDataSourceType
,这相当简单,但是很多代码只是为了让这件小事工作。我对 RxSwift 和 iOS 都很陌生,我错过了一些简单的东西吗?上面的闭包中有没有办法让我可以访问UITableCellView
在单元格本身上设置一些属性以使其不可编辑?我缺少的 RxCocoa 扩展中的一些东西怎么样。如果必须的话,我会去写我自己的RxTableViewDataSource
,但我想我会先在这里问。
谢谢,
-账单