Изменение: Как указывает Адам Вашингтон, начиная с бета-версии 6, этот код работает как есть, поэтому вопрос больше не актуален.
Я пытаюсь создать и перебрать двумерный массив:
var array = Array(count:NumColumns, repeatedValue:Array(count:NumRows, repeatedValue:Double()))
array[0][0] = 1
array[1][0] = 2
array[2][0] = 3
array[0][1] = 4
array[1][1] = 5
array[2][1] = 6
array[0][2] = 7
array[1][2] = 8
array[2][2] = 9
for column in 0...2 {
for row in 0...2 {
println("column: \(column) row: \(row) value:\(array[column][row])")
}
}
Тем не менее, это вывод, который я получаю:
column: 0 row: 0 value:3.0
column: 0 row: 1 value:6.0
column: 0 row: 2 value:9.0
column: 1 row: 0 value:3.0
column: 1 row: 1 value:6.0
column: 1 row: 2 value:9.0
column: 2 row: 0 value:3.0
column: 2 row: 1 value:6.0
column: 2 row: 2 value:9.0
Похоже, что последний столбец в строке перезаписывает значения других столбцов.
Я объявляю это неправильно?
Изменение: Возможно, картина с игровой площадки поможет: