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"])
}

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

Cannot subscript a value of type ‘[([String : String])]?’ with an
index of type ‘Int’

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

解决方法

您的常量数组是可选的.订阅字典总是返回一个可选项.你必须打开它.
let dict = array![0]

更好的是,

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

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...