Я использую цикл for для прохождения массива строк. Для каждой строки я нахожу для нее новое значение. После нахождения нового значения мне нужно заменить строку на соответствующий индекс.Как заменить строку в массиве новой строкой?
var myStrings = [String]()
for var i = 0; i < myStrings.count; i++ {
let newValue: String = //Do some work to find the new value
myStrings[i] = newValue //This is what I thought would work, but I'm getting a crash and error saying that the array is out of index.
}
Ошибка говорит о том, что массив не соответствует индексу.
Какая строка дает ошибку? Кроме того, что в вашей линии создает newValue? Кроме того, вам, вероятно, будет лучше использовать функцию карты для этого. – Fogmeister
Вы можете заменить 'myStrings [i]' другим значением, но вы не можете создать там значение, если индекс не существует. Вот почему вы получаете индекс за пределами диапазона. Попробуйте использовать 'append' для добавления элементов в массив. – vacawama