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

Ios Swift-使用字典数组从字典访问数据时出错,ios,swift,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 arra

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

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"])
}
private var data=[String:[[String:String]]]()
重写func viewDidLoad(){
super.viewDidLoad()
让dict=[“键”:“值”]
数据[“废话”]=[dict,dict]
}
@iAction func按钮映射(发送方:AnyObject){
让数组=数据[“废话”]

让dict=array[0]/您的常量
array
是可选的。订阅字典总是返回可选的。您必须将其展开

let dict = array![0]
更好的是

if let a = array {
   let dict = a[0]
}

它不喜欢在可选对象上调用下标

如果您确定数据[“Blah”]存在,则应执行以下操作:

let dict = array![0] 

数据[“废话”]
返回一个可选项,必须取消包装。-这必须是以前回答过的…是的,对不起,这一点我一看就明白了。我认为这是swift处理嵌套对象的问题,所以我的搜索结果为空。谢谢!我试图以重复的方式关闭,但如果您搜索此特定错误消息,则不会出现似乎有任何参考资料。我会保持原样,以防它能帮助那些像我一样忽略了显而易见的“?”的人。