[0]EventDispatcher移除监听的Bug(包括Delegate的效率和出错率的问题)


微信截图_20231014174915.png

用off方法移除事件只传caller,可选参数listener不传

微信截图_20231014171652.png

off方法只做了参数数量的判断,没有判断第参数的类型,把caller当作listerner
这里应该是用类型判断没有listener参数后,找到listeners.clearForTarget完成移除

微信截图_20231014173222.png

Delegate的remove方法就找错索引,index本来应该是4的倍数才对
Delegate里很多地方遍历都使用了findIndex和forEach,但参数是4个一组,这样不但降低了效率还增加出错率

微信截图_20231014173415.png

本来是把索引3的值改成0,变成把索引4改成0
导致监听没移除还把跟在后面的回调方法干掉了
已邀请:

要回复问题请先

商务合作
商务合作