簡體   English   中英

RxDataSources itemDeselected 沒有被調用

[英]RxDataSources itemDeselected not getting called

我正在使用 RxDataSources 並嘗試為單元格選擇進行“切換” function - 即允許通過點擊來選擇和取消選擇單元格(在單選表視圖中)。 我使用tableView.rx.itemSelected獲取選擇,使用self?.tableView.deselectRow(at: indexPath, animated: false)取消選擇單元格,如果它當前位於選定的 state 中。 這似乎基本上有效,但我想回應取消選擇。 我假設self?.tableView.deselectRow(at: indexPath, animated: false)會導致調用tableView.rx.itemDeselected ,但這永遠不會發生。 我顯然錯過了一些東西。

任何想法表示贊賞。

這與 RxSwift 有關。 itemDeselected是從這里的UITableView方法UITableViewDelegate.tableView(_:didDeselectRowAt:)觸發

根據蘋果文檔deselectRow(at:animated:)不會觸發委托 function tableView(_:didDeselectRowAt:)

這就是它沒有被觸發的原因。

我會說你最好的選擇是抽象單元格取消選擇的邏輯並在兩個地方使用它。 您也可以自己調用委托方法,但這通常不是推薦的解決方案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM