gpt4 book ai didi

ios - RxSwift 在选择时修改表格 View 单元格

转载 作者:可可西里 更新时间:2023-11-01 03:01:25 25 4
gpt4 key购买 nike

我的应用程序中有一个表格 View 。我使用以下代码为该表生成了数据源

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 之前,我使用了 TableView 的 didSelectRowAt,如下所示

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

我发现 tableView.rx.itemSelected 与上面的相同 didSelectRowAt 但我找不到如何使用以下代码更新 TableView

tableView.rx.itemSelected
.subscribe(onNext: { [weak self]indexPath in

}).addDisposableTo(disposeBag)

那么如何更新cell呢?

最佳答案

您可以像这样访问单元格

tableView.rx.itemSelected
.subscribe(onNext: { [weak self] indexPath in
let cell = self?.tableview.cellForRow(at: indexPath) as? SomeCellClass
cell.button.isEnabled = false
}).addDisposableTo(disposeBag)

关于ios - RxSwift 在选择时修改表格 View 单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42050066/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com