Swift 2D阵列可选类型和订阅(Beta 3)

Swift 2D阵列可选类型和订阅(Beta 3),swift,Swift,我有一个在Beta 2中工作的2D阵列。然而,在Beta 3中,当通过下标进行设置时,我得到了“@lvalue$T15与T不相同” class Array2D<T> { let columns: Int let rows: Int let array: [T?] init(columns: Int, rows: Int) { self.columns = columns self.rows = rows array = [T?](count: rows*c

我有一个在Beta 2中工作的2D阵列。然而,在Beta 3中,当通过下标进行设置时,我得到了“@lvalue$T15与T不相同”

class Array2D<T> {
let columns: Int
let rows: Int
let array: [T?] 

init(columns: Int, rows: Int) {
    self.columns = columns
    self.rows = rows
    array = [T?](count: rows*columns, repeatedValue: nil)
}

subscript(column: Int, row: Int) -> T? {
    get {
        return array[row*columns + column]
    }
    set {
        array[row*columns + column] = newValue  // Error here
    }
}}
类数组2d{
let列:Int
让行:Int
let数组:[T?]
init(列:Int,行:Int){
self.columns=列
self.rows=行
数组=[T?](计数:行*列,repeatedValue:nil)
}
下标(列:Int,行:Int)->T{
得到{
返回数组[行*列+列]
}
设置{
数组[row*columns+column]=newValue//此处出错
}
}}

在Beta3中,常量数组是完全不可变的,而变量数组是完全可变的。将
让数组:[T?]
更改为
变量数组:[T?]
,您的代码应该可以工作。

在Beta3中,常量数组是完全不可变的,而变量数组是完全可变的。将
let array:[T?]
更改为
var array:[T?]
,您的代码应该可以工作