编辑:正如亚当华盛顿指出,从Beta 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
它看起来像行中的最后一列正在覆盖其他列值。
我声明错了吗?
编辑:也许游乐场的图片将有助于:
如其他答案所述,您要向每个列添加相同的行数组。要创建多维数组,必须使用循环
原文链接:https://www.f2er.com/swift/321290.htmlvar NumColumns = 27 var NumRows = 52 var array = Array<Array<Double>>() for column in 0..NumColumns { array.append(Array(count:NumRows,repeatedValue:Double())) }