项目中使用了RAC, 使用过程中遇到了很多坑.
其中一个比较普遍的就是:
在cell中使用之后,在cell重用的时候, 每次刷新一遍cell, button就会多触发一次, 造成button的多次触发;
若跳转到另一个页面, 就会多次创建VC, 造成冗余及影响.
解决方法:
通过takeUntil:someSignal来终止cell.button之前的signal了:
takeUntil :someSignal的作用是当someSignal sendNext时,当前的signal就sendCompleted,someSignal就像一个裁判,哨声响起就意味着比赛终止:
添加takeUntil: 方法就可以防止多次调用触发了.
[[[cell.loginButton rac_signalForControlEvents:UIControlEventTouchUpInside] takeUntil:cell.rac_prepareForReuseSignal] subscribeNext:^(__kindof UIControl * _Nullable x) {
}];
最后
以上就是醉熏吐司最近收集整理的关于RAC rac_signalForControlEvents Button方法多次触发的问题的全部内容,更多相关RAC内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复