Swift2 NSHTTPCookie厨师与负责人字段

Swift2 NSHTTPCookie厨师与负责人字段,swift2,nshttpcookie,nshttpurlresponse,Swift2,Nshttpcookie,Nshttpurlresponse,调用API时,我收到以下响应: <NSHTTPURLResponse: 0x7f96f0510f80> { URL: https://insula.magister.net/api/sessie } { status code: 201, headers { "Cache-Control" = "max-age=120, private"; "Content-Length" = 0; Date = "Thu, 30 Jul 2015 17:27:11 GMT"

调用API时,我收到以下响应:

<NSHTTPURLResponse: 0x7f96f0510f80> { URL: https://insula.magister.net/api/sessie } { status code: 201, headers {
    "Cache-Control" = "max-age=120, private";
    "Content-Length" = 0;
    Date = "Thu, 30 Jul 2015 17:27:11 GMT";
    "Set-Cookie" = "SESSION_ID=c8714acb-22f8-4295-90ee-82e9469890e1; domain=insula.magister.net; path=/api; secure; httponly";
    "Strict-Transport-Security" = "max-age=31536000";
    Vary = "Accept-Encoding,Cookie";
    "X-Frame-Options" = DENY;
} }
但是我不能让
cookiesWithResponseHeaderFields
工作,我应该传递一个
[String:String]
数组作为第一个参数,但是响应似乎不符合要求

let cookies=NSHTTPCookie.cookiesWithResponseHeaderFields(HTTPResponse.allHeaderFields,forURL:url)

但是作为
HTTPResponse.allHeaderFiles
[NSObject:AnyObject]
类型的数组,它不能满足
[String:String]
参数类型。 谁知道该怎么办呢?

有一个带一个的

您应该将
allHeaderFields
属性强制转换为所需的类型,即
[String:String]
,如下所示:

  let foundCookies: [NSHTTPCookie]?
  if let responseHeaders = HTTPResponse.allHeaderFields as? [String:String] {
    foundCookies = NSHTTPCookie.cookiesWithResponseHeaderFields(responseHeaders, forURL:url)
  }
  let foundCookies: [NSHTTPCookie]?
  if let responseHeaders = HTTPResponse.allHeaderFields as? [String:String] {
    foundCookies = NSHTTPCookie.cookiesWithResponseHeaderFields(responseHeaders, forURL:url)
  }