ios7 - 从 Dictionary<String, Any> 获取值

标签 ios7 dictionary swift

我声明了 Dictionary<String, Any>其中有一些字符串、数组和整数作为值。 当我尝试返回基于 String 的值时关键,我无法将其转换到 Array , 即使 key 标识的值是真实的 Array .

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

附: TabBarKey.tabBarColor是一个字符串

Apple 的 Swift 编程书籍提供了一个示例,其中 Array它们存储不同类型的对象,并且它们使用 as向下转换对象,这似乎适用于 Array但不适用于Dictionary

我是不是错过了什么?如何获取此类字典的值?

最佳答案

您必须指定 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 。您应该做同样的事情,当然使用数组保存的正确泛型类型。

在 Playground 上测试了该代码,它打印了预期的数组。

关于ios7 - 从 Dictionary<String, Any> 获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24671518/

相关文章:

ios - 自定义 TableViewCell 的 UIimageView 宽度为单元格宽度的 1/3,单元格高度 = 图像纵横比

ios - 在自定义 UIGestureRecognizer 中维护触摸之间的状态

ios - 循环颜色列表并将它们设置为单元格背景色 | TableView | objective-C

Python:在字典中查找具有唯一值的键?

ios - uiwebview 中弹性滚动底部的黑线?

Python Tuple to dict to JSON

Python 使用带有字典的 filter()

json - 如何获取所选操作表选择器Swift的索引路径

uitableview - iOS7 tableview cell.imageview 额外填充?

iphone - 每30秒UILocalNotification