RxSwift modify tableview cell on select : <p>I have a table view in my app. I generated the datasource for this table using following code</p>

<pre><code>struct ContactNameNumberBlockStatus {
    var contactThumbnail: Data?
    var contactName : String
    var contactNumber: String
    var blockStatus : Bool
}

class BlockListTableViewCell: UITableViewCell {
    @IBOutlet weak var contactImage: UIImageView!
    @IBOutlet weak var contactName: UILabel!
    @IBOutlet weak var contactNumber: UILabel!
    @IBOutlet weak var blockButton: UIButton!
    var eachCell : ContactNameNumberBlockStatus! {
        didSet {
            // setting ui
        }
    }
}

private func showTableContent(data :   Observable&lt;[ContactNameNumberBlockStatus]&gt;) {
        data.bindTo(tableView.rx.items(
            cellIdentifier: "BlockListTableViewCell")) {
            row, contributor, cell in
            if let cell2 = cell as? BlockListTableViewCell {
                cell2.eachCell = contributor
            }
            }.addDisposableTo(disposeBag)
}
</code></pre>

<p>Now when I tap on cell I want to update ui by showing/hiding <code>blockButton</code> mentioned in top</p>

<p>how to do this ??</p>

<p>before using rx i used the didSelectRowAt of table view  as following</p>

<pre><code>func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
        contacts[indexPath.row].blockStatus = false
        self?.tableView.reloadData()
}
</code></pre>

<p>I found that <code>tableView.rx.itemSelected</code> is same as above <code>didSelectRowAt</code> but i cant find  how i can update the table view using following code</p>

<pre><code>tableView.rx.itemSelected
  .subscribe(onNext: { [weak self]indexPath in

  }).addDisposableTo(disposeBag)
</code></pre>

<p>So how to update the cell?</p>
