Change: As Adam Washington points out since beta 6, this code works as it is, so the question is no longer relevant.
I am trying to create and iterate over a two-dimensional array:
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])") } }
However, this is the output I get:
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
It seems that the last column in the row overwrites the values โโof the other columns.
Am I declaring this wrong?
Change: Perhaps a picture from the playground will help:

arrays swift
Caroline Jun 05 '14 at 4:08 2014-06-05 04:08
source share