我的应用程序中有一个表格视图。我使用以下代码为该表生成了数据源
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<[ContactNameNumberBlockStatus]>) {
data.bindTo(tableView.rx.items(
cellIdentifier: "BlockListTableViewCell")) {
row, contributor, cell in
if let cell2 = cell as? BlockListTableViewCell {
cell2.eachCell = contributor
}
}.addDisposableTo(disposeBag)
}
现在,当我点击单元格时,我想通过显示/隐藏blockButton
顶部提到的来更新 ui
这个怎么做 ??
在使用 rx 之前,我使用了表视图的 didSelectRowAt 如下
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
contacts[indexPath.row].blockStatus = false
self?.tableView.reloadData()
}
我发现这tableView.rx.itemSelected
与上面相同,didSelectRowAt
但我找不到如何使用以下代码更新表格视图
tableView.rx.itemSelected
.subscribe(onNext: { [weak self]indexPath in
}).addDisposableTo(disposeBag)
那么如何更新单元格呢?