arrays - iOS swift : fatal error: Index out of range

标签 arrays swift

我正在尝试删除索引处的对象,但出现错误。这是我的代码:

var arr2 = [3,5,6]

let arr3 = arr2
for (index, element) in arr3.enumerated() {
    print("III \(index)")
    arr2.remove(at: index)
}

日志:

 III 0
 III 1
 III 2
 fatal error: Index out of range

请让我知道我做错了什么。

最佳答案

您的index 值基于arr3。当您从 arr2 中删除项目时,index 并不代表 arr2 中的正确位置。

一种解决方案是反向迭代arr3

for (index, element) in arr3.enumerated().reversed() {

这使得剩余的索引在迭代继续时保持不变。

关于arrays - iOS swift : fatal error: Index out of range,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45846398/

相关文章:

ios - 无法从 GET 请求将数据附加到数组

ios - 如何使用 ReSwift 调度带有参数(有效负载)的异步操作

ios - 管理全局状态(没有单例)

python - 快速 Playground 错误: module 'Python' has no member named 'import'

ios - 将泛型类型分配给具有 AnyObject 类型的泛型

PHP:数组中出现频率最高的值

python - 如何在 numpy 中内部连接两个数组?

javascript - 发出使用JS函数和数组建表的问题

macos - 如何防止 Storyboard 打开窗口

由于子查询,MySQL 结果中的 PHP 数组有重复值