ios - RxSwift - 停止重复订阅观察者

标签 ios swift uitableview rx-swift

我正在将一个 UITableViewCell 订阅到一个 Observer 以处理对该单元格的更改(我目前正在这样做:

tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell

我遇到的问题是,任何类型的重新加载都会重新订阅单元格,并且每当我执行“onNext”时,观察者都会被多次触发。

有没有办法阻止某个特定的观察者被多次订阅?

我试图保留已订阅的 Cell 列表并阻止它们重新订阅 - 但这似乎会导致其他问题进一步发生(并且感觉不是正确的解决方案)

最佳答案

在您的单元格中创建一个 DisposeBag,然后在其上附加您的 subscribe 事件。

prepareForReuse 中重置 bag

您还可以在订阅前添加一个debug() 调用以检查是否正确调用了onComplete

关于ios - RxSwift - 停止重复订阅观察者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47710940/

相关文章:

xml - 核心文本。将文本布局信息输入到基于 CoreText 的应用程序的最佳方法是什么?

ios - 生成随机数并在添加/减去它们后比较 objective-c 中的结果

ios - 数据未正确填充到表格 View 部分中

swift - swift 将当前时区差异添加到 timeintervalsince1970

ios - 如何使用 EarlGrey 中的辅助功能 ID 从 UI 标签/文本字段捕获文本值?

ios - UITableViewCell 中的 UITextView 在选择单元格时隐藏光标

ios - 如何求曲线和直线的交点?

macos - OSX Swift 项目中的 FMDB -> 许多错误

ios - 加载图像时,UITableView 中的滚动非常不稳定

uitableview - 点击单元格时如何播放视频?