gpt4 book ai didi

xcode 7 无法将类型 '[NSHTTPCookie]' 的值分配给类型 '[NSHTTPCookie]' 的值

转载 作者:行者123 更新时间:2023-11-28 13:10:49 28 4
gpt4 key购买 nike

我刚刚更新到 Xcode7 并试图将我的项目切换为使用 Swift 2.0 语法,但在我使用的开源库中的文件中遇到此错误。这是相关代码:

public lazy var cookies:[String:NSHTTPCookie] = {
let foundCookies: [NSHTTPCookie]
if let responseHeaders = (self.response as? NSHTTPURLResponse)?.allHeaderFields {
foundCookies = NSHTTPCookie.cookiesWithResponseHeaderFields(responseHeaders, forURL:NSURL(string:"")!) as! [NSHTTPCookie]
} else {
foundCookies = []
}
var result:[String:NSHTTPCookie] = [:]
for cookie in foundCookies {
result[cookie.name] = cookie
}
return result
}()

错误显示:无法将类型“[NSHTTPCookie]”的值分配给类型“[NSHTTPCookie]”的值

我在这里缺少什么吗?

最佳答案

将您的代码更改为:

public lazy var cookies:[String:NSHTTPCookie] = {
let foundCookies: [NSHTTPCookie]
if let responseHeaders = (self.response as? NSHTTPURLResponse)?.allHeaderFields as? [String:String] {
foundCookies = NSHTTPCookie.cookiesWithResponseHeaderFields(responseHeaders, forURL:NSURL(string:"")!)
} else {
foundCookies = []
}
var result:[String:NSHTTPCookie] = [:]
for cookie in foundCookies {
result[cookie.name] = cookie
}
return result
}()

变化:

  • if let responseHeaders ... 行 - 是否添加 as? [String:String],因为 allHeadersFields 返回类型是 [NSObject : AnyObject] 而不是 [String:String] cookiesWithResponseHeaderFields...

  • 删除了 as! [NSHTTPCookie] - 它没有意义,因为 cookiesWithResponseHeaderFields 返回类型已经是 [NSHTTPCookie]

只需检查 cookiesWithResponseHeaderFields 签名:

class func cookiesWithResponseHeaderFields(headerFields: [String : String],
forURL URL: NSURL) -> [NSHTTPCookie]

请阅读How do I ask a good question .至少,你应该指出问题所在的行等。

关于xcode 7 无法将类型 '[NSHTTPCookie]' 的值分配给类型 '[NSHTTPCookie]' 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31385472/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com