繁体   English   中英

如何使用二维数组存储类?

[英]How to use a two dimensional array to store classes?

我想在每个字段(groundType,height,visible等)上快速创建一个包含CLASS的地图(二维)。

没有发现如何实现这一目标。...大多数示例仅将简单的Int或Boolean作为内容。

我可以像这样访问:

let currentField = field[x,y].height()

有人可以帮忙吗?

这是一个创建5 X 3多维数组以容纳Field类型的类的示例:

class Field {
    init (groundType: String, height: Double, visible: Bool) {
        self.groundType = groundType
        self.height = height
        self.visible = visible
    }

    var groundType: String
    var height: Double
    var visible: Bool
}

// A two-dimensional array is just an array of arrays.  Use the Array constructor
// twice to create a 5 by 3 multidimensional array
var fields:[[Field?]] = Array(count: 5, repeatedValue: Array(count: 3, repeatedValue: nil))

fields[4][2] = Field(groundType: "mountain", height: 4300.23, visible: true)

if let height = fields[4][2]?.height {
    println(height)
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM