Счетчик в цикле for
является константой.Чтобы сделать его изменчивым, вы можете использовать:
for var item in myArray { ... }
Но это не поможет, поскольку мы будем мутировать item
, а не элементы в myArray
.
Вы можете изменить элементы в myArray
следующим образом:
var myArray = [["index": 0], ["index":0], ["index":0], ["index":0]]
var counter = 0
for i in myArray.indices {
myArray[i]["index"] = counter
counter += 1
}
print(myArray) //[["index": 0], ["index": 1], ["index": 2], ["index": 3]]
Переменная counter
здесь не нужна:
for i in myArray.indices {
myArray[i]["index"] = i
}
Функциональный способнаписание выше будет:
myArray.indices.forEach { myArray[$0]["index"] = $0 }