【发布时间】:2014-07-27 23:06:18
【问题描述】:
我有一个带有字符串键的字典,其中包含不同类型的值。它是从 plist 文件加载的。我想将字典中的值分配给一个变量。出于某种原因,我需要两行将值转换为具体类型。例如此代码有效:
var stockItemData: [String: AnyObject]
var typeTemp: AnyObject? = stockItemData["type"]
var type = typeTemp as String
虽然这不起作用:
var stockItemData: [String: AnyObject]
var type = stockItemData["type"] as String
这里编译器给出错误信息 (String, AnyObject) is not convertible to String。但是显然它能够进行强制转换,因为上面的代码在两行代码中执行相同的操作。
谁能给我解释一下,为什么会这样?还有更优雅的方法吗?
【问题讨论】: