微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Swift中的多维数组

编辑:正如亚当华盛顿指出,从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

它看起来像行中的最后一列正在覆盖其他列值。

我声明错了吗?

编辑:也许游乐场的图片将有助于:

如其他答案所述,您要向每个列添加相同的行数组。要创建多维数组,必须使用循环
var NumColumns = 27
var NumRows = 52
var array = Array<Array<Double>>()
for column in 0..NumColumns {
    array.append(Array(count:NumRows,repeatedValue:Double()))
}

原文地址:https://www.jb51.cc/swift/321290.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐