多个Button批量注册监听注意事项

当我们为多个button进行批量注册监听的时候,很容易因为临时变量踩坑

坑点可以查看图
 

按照我的逻辑就会如此写,结果发现一直报错,无法正常进行事件的触发操作。

报错信息为out of array length,数字越界了。

那是什么导致的呢。

打开VS进行debug发现每一次点击都有触发但是触发的时候显示   i == 16 ,但是我们objs

数组只有0-15所以出错。这里很好理解呐,我们监听的时候,拿到了i的地址,当我们触发的

时候会通过地址进行选址,拿到的i 就是最终版本的i了,所以越界了。

解决方式很好说,因为分析出了原因。使用临时变量存储i就完事了。

这里取名较为随意望谅解

猜你喜欢

转载自blog.csdn.net/fairen/article/details/118899268