我是靠谱客的博主 醉熏吐司,这篇文章主要介绍RAC rac_signalForControlEvents Button方法多次触发的问题,现在分享给大家,希望可以做个参考。

项目中使用了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内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(128)

评论列表共有 0 条评论

立即
投稿
返回
顶部