我要将[String: Anyobject]
字典转换为[String: String]
字典? 我该怎么做?Swift 3:如何将[String:AnyObject]转换为[String:String]?
0
A
回答
0
简单地说,你可以这样来做:
if let castedDict = dictionary as? [String: String] {
print("Converted successfully: \(castedDict)")
} else {
print("Failed to cast the dictionary")
}
2
不能转换字典直接从[String: AnyObject]
到[String: String]
:因为AnyObject
可以在同一字典持有不同类型的值,每个这样的值项ISN” t一定可转换为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"]
相关问题
- 1. Swift:'()'不可转换为'[String:AnyObject]'
- 2. 如何将URL转换为NSImage(Swift 3)
- 3. Swift [String:AnyObject]不可转换为T Swift数组
- 4. Swift3 - '[String:AnyObject]'不能转换为'[HTTPCookiePropertyKey:Any]'
- 5. 无法将类型`[String:String?]`的值转换为期望的参数类型`[String:String!]'
- 6. 转换为Swift 3
- 7. 如何将Swift 2中的Singleton类转换为Swift 3?
- 8. 将字符串转换为NSObject Swift 3
- 9. 将UIView转换为UIImage Swift 3
- 10. Swift 3将Double转换为字符串
- 11. 在Swift 3中将NSData转换为NSString?
- 12. 在[swift]中将[AnyObject]转换为[Int] 3
- 13. 在[String:String]中转换[(key:String,value:String)]
- 14. Swift 3转换
- 15. 如何将任何转换为Swift 3中的CGFloat
- 16. 如何将Swift 3中的apns数据转换为字符串?
- 17. 如何将毫秒转换为日期字符串在swift 3
- 18. 如何将字符转换为Swift中的整数3
- 19. 如何将UInt16转换为Swift 3中的UInt8?
- 20. 如何在Swift 3中将字符串从TextField转换为Int?
- 21. 如何在Swift 3中将__NSMallocBlock__转换为其基础类型?
- 22. 如何将NSData转换为Swift 3中的数据?
- 23. 如何将JSON转换为Swift 3蒸气字典
- 24. 如何在Swift 3中将数据转换为Int?
- 25. 如何将其转换为Swift?
- 26. 如何将MYSQL DateTime转换为NSDate - Swift
- 27. 如何将这个objc转换为SWIFT
- 28. 将指针从Swift 2转换为Swift 3
- 29. Alamofire - 将错误从Swift 2转换为Swift 3
- 30. 在Swift 3中将[UInt8]转换为[UInt32] 3
谢谢你,但castedDict是零。 – LoveCode
如果您要转换的字典无法转换为'[String:String]',则此投射将失败。我更新了我的代码,使其更加清晰。 –
谢谢你的协助。 – LoveCode