【问题标题】:RxDataSources itemDeselected not getting calledRxDataSources itemDeselected 没有被调用
【发布时间】:2019-11-13 04:38:02
【问题描述】:

我正在使用 RxDataSources 并尝试为单元格选择创建一个“切换”功能 - 即允许通过点击来选择和取消选择单元格(在单选 tableView 中)。我在用着 tableView.rx.itemSelected 获得选择,@​​987654322@ 取消选择单元格,如果它当前处于选中状态。这似乎基本上有效,但我想回应取消选择。我假设self?.tableView.deselectRow(at: indexPath, animated: false) 会导致tableView.rx.itemDeselected 被调用,但这从未发生过。我显然错过了一些东西。

任何想法表示赞赏。

【问题讨论】:

    标签: ios swift uitableview rx-swift rxdatasources


    【解决方案1】:

    这与 RxSwift 有关。 itemDeselectedUITableView 方法UITableViewDelegate.tableView(_:didDeselectRowAt:) here 触发。

    根据apple docs,deselectRow(at:animated:)不会触发委托函数tableView(_:didDeselectRowAt:)

    这就是它没有被触发的原因。

    我想说你最好的选择是抽象单元格取消选择的逻辑并在两个地方使用它。您也可以自己调用委托方法,但这通常不是推荐的解决方案。

    【讨论】:

    • 啊,好吧。那讲得通。我会看看另一种方法。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2011-11-15
    • 1970-01-01
    • 1970-01-01
    • 2018-11-25
    • 2019-03-31
    • 2012-12-16
    • 2015-03-28
    • 2012-12-04
    相关资源
    最近更新 更多