- 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 件のコメント:
コメントを投稿