let items = Variable<[Item]>([])
// 新しいデータで更新
self.items.value = updateItems
UITableViewにデータをBindingするには、rx_itemsWithCellIdentifierをコールする。
カスタムセルを使用する場合は、第二引数のcellTypeにセットが必要です。
viewModel?.items
.asDriver()
.drive(tableView.rx_itemsWithCellIdentifier("CustomTableViewCell",cellType: CustomTableViewCell.self)) { row, item, cell in
cell.item = item
cell.tag = row
}
.addDisposableTo(disposeBag)
セルの選択はrx_itemSelectedを使用します。
tableView.rx_itemSelected
.subscribeNext { [unowned self](indexPath) in
self.tableView.deselectRowAtIndexPath(indexPath, animated: true)
// get cell
let cell: CustomTableViewCell = self.tableView.cellForRowAtIndexPath(indexPath)! as! CustomTableViewCell
}
.addDisposableTo(disposeBag)
EditingStyleのセット
rx_itemsWithCellIdentifierを使用すると、DefaultでEditting可能になってしまいます。不要の場合はUITableViewCellEditingStyle.Noneをセットしましょう。
func tableView(tableView: UITableView, editingStyleForRowAtIndexPath: NSIndexPath) -> UITableViewCellEditingStyle {
return UITableViewCellEditingStyle.None
}
0 件のコメント:
コメントを投稿