【发布时间】:2017-09-28 13:11:42
【问题描述】:
我有一个简单的问题,我有这本词典:
let dict: [String: Any] = ["Area": "100", "YessorNo" : true]
而且,对于键 area,我想将其值转换为 double,如下所示:
let a = dict["Area"] as? Double
当我打印a 时,我得到一个nil,为什么? 100 的值虽然是 string,但它不是一个数字吗?为什么我不能将其转换为 double?
【问题讨论】:
-
"但它不是一个数字吗?" – 不,它是一个字符串。
-
@BrendonCheung 您的字典类型是任何类型,这意味着它可以存储任何类型的值。这不允许混淆值类型。存储在 Any 中的字符串将始终转换为字符串,而不是 Double 或任何其他类
标签: swift dictionary casting