您好,欢迎来到二三娱乐。
搜索
您的当前位置:首页在cell中使用rac_signalForControlEven

在cell中使用rac_signalForControlEven

来源:二三娱乐

在tableView的cellForRowAtIndexPath代理方法中,如果有使用到ReactiveCocoa中的rac_signalForControlEvents方法
如何直接这样调用:

[[cell.textField rac_signalForControlEvents:UIControlEventEditingDidEnd] subscribeNext:^(__kindof UITextField * _Nullable x) {
                }];

会导致事件被触发多次,因为cell是重用的.

正确的做法是:

[[[cell.textField rac_signalForControlEvents:UIControlEventEditingDidEnd] takeUntil:cell.rac_prepareForReuseSignal] subscribeNext:^(__kindof UITextField * _Nullable x) {
                }];

takeUntil: someSignal 只要someSignal发送完成(sendCompleted)或者发送任意数据(sendNext),就不能在接收源信号的内容(subscribeNext block就不会再调用了)
这样就可以避免事件多次调用了.

本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。

热门图文

Copyright © 2019-2025 yule263.com 版权所有 湘ICP备2023023988号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务