访问包含AnyObject的字典中的值

时间:2017-09-29 16:53:07

标签: swift

我将一些数据存储到字典中,定义为:

    let data = Dictionary<String, AnyObject>()

在此字典中,值始终为字符串,但值可以是数组或整数或字符串。但是当我尝试访问此词典中的数组中的项目时,例如:

    let item = data["key"][0]

它给了我这个错误:

  

无法下标“AnyObject”类型的值

我该如何访问该项目?

1 个答案:

答案 0 :(得分:1)

你需要告诉编译器你期待一个数组:

if let array = data["key"] as? [Int] {
    let item = array[0]
}

没有它,编译器只知道AnyObject中可能有data["key"](它也可能是nil)。