从Dictionary <string,any =“”> </string,>获取值

时间:2014-07-10 08:14:52

标签: ios7 dictionary swift

我声明了一个Dictionary<String, Any>,它有一些字符串,数组和整数作为值。 当我尝试根据String键获取值时,我无法将其转换为Array, 即使由key标识的值是真实的Array

 let lColorValues = lTabBarDictionary[TabBarKey.tabBarColor] as Array;

P.S。 TabBarKey.tabBarColor是一个字符串

Apple的Swift编程手册提供了一个Array存储不同类型对象的示例,他们使用as来预测对象,这似乎适用于{{1}但不适用于Array

我错过了什么吗?如何获得这样的词典的值?

1 个答案:

答案 0 :(得分:3)

您必须指定Array所拥有的类型,例如:

class TabBarKey {
    class var tabBarColor : String {
        return "key"
    }
}

let arr = ["1", "2", "3"]

var lTabBarDictionary = Dictionary<String, Any>()

lTabBarDictionary[TabBarKey.tabBarColor] = arr

let val = lTabBarDictionary[TabBarKey.tabBarColor] as Array<String>

在最后一行,我使用的是Array<String>而不是Array。你应该做同样的事情,当然使用数组所包含的正确泛型类型。

在操场上测试该代码并打印出预期的数组。