我想要将[String: Anyobject]字典转换为[String: String]字典?我该怎么做呢?
发布于 2017-07-18 04:07:57
不能直接将字典从[String: AnyObject]转换为[String: String]:因为AnyObject可以在同一字典中包含不同类型的值,所以每个这样的值条目不一定都可以转换为String。
相反,如果可能,您需要遍历每个键-值对,并有条件地将值转换为String。例如:
// (example) source dict
let dict: [String: AnyObject] = ["foo": "1" as AnyObject,
"bar": 2 as AnyObject,
"baz": "3" as AnyObject]
// target dict
var targetDict = [String: String]()
for (key, value) in dict {
if let value = value as? String { targetDict[key] = value }
} // targetDict: ["foo": "1", "baz": "3"]发布于 2017-07-18 03:47:39
简单地说,你可以这样做:
if let castedDict = dictionary as? [String: String] {
print("Converted successfully: \(castedDict)")
} else {
print("Failed to cast the dictionary")
}https://stackoverflow.com/questions/45152438
复制相似问题