ios - NSURLResponse 没有名为 allHeaderFields 的成员

标签 ios post http-headers swift nsurlrequest

我正在向 API 发出 POST 请求,并在 Swift 中成功获得响应。下面是我的代码。

private func getData(url: NSURL) {
    let config: NSURLSessionConfiguration = NSURLSessionConfiguration.defaultSessionConfiguration()
    let session: NSURLSession = NSURLSession(configuration: config)

    let dataTask: NSURLSessionDataTask = NSURLSession.sharedSession().dataTaskWithURL(url, completionHandler: {(data: NSData!, response: NSURLResponse!, error: NSError!) -> Void in

        if error {
            println("Error Occurred: \(error.localizedDescription)")
        } else {
            println("\(response.allHeaderFields)") // Error
        }
    })
    dataTask.resume()
}

我正在尝试使用 allHeaderFields 转储 header 字段,但我收到一条错误消息,指出 NSURLResponse 没有名为 allHeaderFields 的成员。但它 does 拥有它!

语法或调用方式一定有问题。谁能告诉我如何纠正这个问题?

谢谢。

最佳答案

详细说明 Yogesh 所说的话......!

尝试使用“as”将 NSURLRespones 转换为 NSHTTPURLResponse,因为我打赌 NSURLResponse 实际上是一个 NSHTTPURLResponse,或者我打赌这是可能的。

我的意思是:

private func getData(url: NSURL) {
    let config: NSURLSessionConfiguration = NSURLSessionConfiguration.defaultSessionConfiguration()
    let session: NSURLSession = NSURLSession(configuration: config)

    let dataTask: NSURLSessionDataTask = NSURLSession.sharedSession().dataTaskWithURL(url, completionHandler: {(data: NSData!, urlResponse: NSURLResponse!, error: NSError!) -> Void in

        if let httpUrlResponse = urlResponse as? NSHTTPURLResponse
        {
            if error {
                println("Error Occurred: \(error.localizedDescription)")
            } else {
                println("\(httpUrlResponse.allHeaderFields)") // Error
            }
        }
        })

    dataTask.resume()
}

关于ios - NSURLResponse 没有名为 allHeaderFields 的成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24988471/

相关文章:

ios - 在多个目标之间共享相同的 Assets

php - 路由 post_wishlist 不支持 GET 方法。支持的方法 : POST

REST - 不应该 PUT = 创建和 POST = 更新

javascript - 文件上传接受 header

ios - NSDictionary 与 [字符串 :AnyObject] in Swift

iOS URL Scheme Microsoft Outlook App

android - Paypal 而不是 Android 和 iOS 上的应用内购买/计费

post - cURL POST --data-binary vs --form

internet-explorer - IE : Turn Off Friendly HTTP Error Messages via server?

google-chrome - Setcookie语法Google Chrome