ReactiveCocoa在UITableViewCell复用的问题

1.cell的复用

之前遇到一个蛋疼问题,就是cell中又按钮,当订阅按钮点击事件时候,结果因为cell的复用,出现多个按钮事件

[[cell.playBtn rac_signalForControlEvents:UIControlEventTouchUpInside] subscribeNext:^(id x) {
        
    }];

so,解决方案有两种

  • 方案一:UITableViewCell复用时需要取消cell上各个组件的订阅
- (void)prepareForReuse {
    [super prepareForReuse];
    [self.playBtn dispose], self.playBtn = nil;
}
  • 方案二:使用rac_prepareForReuseSignal
[[[cell.playBtn rac_signalForControlEvents:UIControlEventTouchUpInside] takeUntil:cell.rac_prepareForReuseSignal] subscribeNext:^(id x) {
        
    }];
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容