ios – 如何访问NSHTTPURLResponse的“Content-Type”头文件?
2020年01月28日
作者:佚名
这是我天真的第一个通行证:
var httpUrlResponse: NSHTTPURLResponse? // = (...get from server...) let contentType = httpUrlResponse?.allHeaderFields["Content-Type"]
我已经尝试了这个代码的各种派生,但是我不断得到编译器的警告/错误,与所有的HibernateFields属性的NSDictionary类型之间的基本阻抗不匹配以及我想要获取一个String或可选字符串的愿望相关.
只是不知道如何强制类型.
解决方法
您可以在Swift 3中执行以下操作:
let task = URLSession.shared.dataTask(with: url) { data,response,error in if let httpResponse = response as? HTTPURLResponse,let contentType = httpResponse.allHeaderFields["Content-Type"] as? String { // use contentType here } } task.resume()
显然,这里我将从URLResponse(响应变量)转到HTTPURLResponse,并从allHeaderFields获取数据.如果你已经有了HTTPURLResponse,那么这样做比较简单,但希望这样说明了这个想法.
对于Swift 2,请参阅previous revision of this answer.
以上是来客网为你收集整理的ios – 如何访问NSHTTPURLResponse的“Content-Type”头文件?全部内容,希望文章能够帮你解决ios – 如何访问NSHTTPURLResponse的“Content-Type”头文件?所遇到的程序开发问题。
如果觉得来客网网站内容还不错,欢迎将来客网网站推荐给程序员好友。