private List<ItemCell> allItems;
for(int i = 0;i<allItems.Count;i++)
{
int tempIndex = i;
UI.AddTouchHandler(btn, (_)=>{
OnClickItem(allItems[tempIndex]);//正确方式:闭包中需要通过临时值变量来存对应值。
OnClickItem(allItems[i]);//错误:此时 i 不是每次循环的值,而是最终迭代后的值即 i= allItems.Count,此时还造成了另一个问题数组越界
return false;
});
}
07-09
1099
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
09-12
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交