【发布时间】:2014-10-10 13:34:16
【问题描述】:
我从使用 [String : AnyObject] 字典转为使用 [String : Any],希望能够利用字典值中的原生 Swift 值类型(例如 String)而不是旧的基础值类型(例如 NSString)。这似乎几乎在任何地方都有效,但是我想要实现的正是这行代码:
let json = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers, error: nil)
在 Swift 中,这会返回一个 AnyObject!,当我使用 println 在控制台中显示它时,它看起来完全符合预期,并且调试区域中的长签名表明它是 NSDictionary 的基础,但是当我尝试使用as [String : Any] 在上述行的末尾我收到以下错误:
AnyObject is not convertible to [String : Any]
为什么会发生这种情况,我该如何解决它,记住我确实想在这里使用 [String : Any] ,并且看不到任何不应该的充分理由,以及一个好的解决方案。
【问题讨论】:
-
注意
String不是一个对象,它是一个结构体。
标签: json dictionary swift