在foreach中删除元素时,每一次删除都会导致集合的大小和元素索引值发生变化,从需导致在foreach中删除元素会出现异常。
如下图,最后ArrayTest数组的Length并不为0,foreach节点没有遍历所有元素。
文章图片
解决方法是采用for循环,并且从尾到头遍历。
蓝图的Forloop节点只能从小往大遍历,因此可以用if语句的循环来代替,实现如下。
文章图片
【蓝图|UE4 蓝图 实现 数组的边遍历边删除】最后输出数组的length为0,满足要求。
推荐阅读
- 使用虚幻引擎中的C++导论
- Scripting the Editor using Python
- 虚幻4DPI自适应缩放规则解析
- 【UE4_C++】<14-3>用户界面 UI和UMG——为UI创建屏幕尺寸自适应缩放
- UE4血条、名字面向相机
- UE4|UE4C++ 设置UMG控件的Slot
- UE4|AirSim里的那些坑
- UE4总结四