Unity BUG解决——通过数组批量注册Button的Addlistener事件,会提示事件数组越界异常

这个Bug是这样的:
假设现在有两个数组分别是button数组StoreButton,长度为3;事件数组ItemString,长度为3;两个数组的长度是相等的
我要将三个事件分别添加到三个Button里面,长度都是3 , 用for循环添加事件, 把第i个事件添加到第i个Button里面 会提示数组越界。


image.png

运行后打印出的结果是:


image.png

这就很神奇了,这样看起来数组长度都是相同的,为什么会提示数组越界异常呢。
是这样的,在Unity的Button事件中,for循环的i是循环体公用参数,像这样写的话最后itemString[i]的 i==count,
在内部再自定义一个变量index = i 让itemString[index]就可以解决这个数组越界一场的问题了。
代码如下
image.png

作者:Htlas
来源:CSDN
原文:https://blog.csdn.net/htlas/article/details/79086501
版权声明:本文为博主原创文章,转载请附上博文链接!

你可能感兴趣的:(Unity BUG解决——通过数组批量注册Button的Addlistener事件,会提示事件数组越界异常)