Swift 个词典 class

Swift dictionaries in class

我在 Swift 中的 classes 中的字典数组有问题。我的代码在 class 或结构中不起作用,但在外部有效。

var data = [Dictionary<Int,String>]()
data.append([123: "test"])

println(data[0])
// Working OK!

class DTest {
    var data = [[Dictionary<Int,String>]]()

    func check() {
        data.append([123: "test"])
        // Error: Cannot invoke "append" with an argument list of type '([Int : String])'
        data += [123: "test"]
        // Error: Binary operator += can't be applied to operands of type ...
    }
}

这是因为您已将 class 中的 data 声明为字典数组的数组:

错误:

var data = [[Dictionary<Int,String>]]()

很好:

var data = [Dictionary<Int,String>]()