Swift - 使用字典数组从字典访问数据时出错

Tra*_* M. 6 ios swift

我有一个非常简单的例子,说明我想做什么

private var data = [String: [[String: String]]]()

override func viewDidLoad() {
    super.viewDidLoad()
    let dict = ["Key": "Value"]
    data["Blah"] = [dict, dict]
}

@IBAction func buttonTap(sender: AnyObject) {
    let array = data["Blah"]
    let dict = array[0] //<---- error here
    println(dict["Key"])
}
Run Code Online (Sandbox Code Playgroud)

基本上,我有一个字典,其值包含[String:String]字典数组.我把数据填入其中,但当我去访问数据时,我收到此错误:

不能下标'[([String:String])]类型的值?' 索引类型为'Int'

请让我知道我做错了什么.

kel*_*ket 12

你的常数array是可选的.订阅字典总是返回一个可选项.你必须打开它.

let dict = array![0]
Run Code Online (Sandbox Code Playgroud)

更好的是,

if let a = array {
   let dict = a[0]
}
Run Code Online (Sandbox Code Playgroud)