我是Swift的新手,并接管了用xCode 7.4用swift 2.2编写的项目。我将其转换为xCode 8和swift3,只剩下一个编译器错误。请帮助解决此问题。

'[String : AnyObject]' is not convertible to '[HTTPCookiePropertyKey : Any]'

这是令人反感的代码行。
let cookie = HTTPCookie(properties: dict as! [String : AnyObject] as! [HTTPCookiePropertyKey : Any])

这会解决吗?
let cookie = HTTPCookie(properties: dict as! [HTTPCookiePropertyKey : Any])

最佳答案

对于未指定的字典值,在Swift 3中AnyObject已替换为Any

由于HTTPCookiePropertyKey(NS)String的类型别名,因此您可以直接转换类型

let cookie = HTTPCookie(properties: dict as! [HTTPCookiePropertyKey : Any])

甚至会
let cookie = HTTPCookie(properties: dict)

可以工作。

关于ios - Swift3-'[String:AnyObject]'无法转换为'[HTTPCookiePropertyKey:Any]',我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40486632/

10-10 11:44