【发布时间】:2016-02-17 01:09:16
【问题描述】:
我想做一些相对简单的事情。我想要一个泛型类型的二维数组。据我了解,我应该在基本类型周围使用两组方括号,并且可以使用简化的循环表达式来初始化值。
我有以下代码,但我收到一个错误,cannot be constructed because it has no accessible initializes。下面是我正在使用的代码。提前感谢您的帮助。
array = [[Element]](count: 3, repeatedValue: Element(count: 2, repeatedValue: nil))
编辑: 我想提供我正在使用的代码的完整源代码
struct Array2D<Element> {
let columns: Int
let rows: Int
private var array: Array<Element?>
init(columns: Int, rows: Int) {
self.columns = columns
self.rows = rows
array = [[Element]](count: 3, repeatedValue: Element(count: 2, repeatedValue: nil))
}
subscript(column: Int, row: Int) -> Element? {
get {
return array[row*columns + column]
}
set {
array[row*columns + column] = newValue
}
}
}
【问题讨论】:
标签: ios arrays swift generics multidimensional-array