![](/img/trans.png)
[英]Swift - Cast from 'NSData?' to unrelated type 'NSDictionary' always fails
[英]Cast from 'NSData' to unrelated type 'NSHTTPURLResponse' always fails
我有這個代碼:
let task = session.dataTaskWithRequest(request, completionHandler: { (data, response, error) -> Void in
guard let response = data else {
print("Error: did not receive data")
return
}
guard error == nil else {
print("error")
print(error)
return
}
let httpResponse = response as! NSHTTPURLResponse
let statusCode = httpResponse.statusCode
if (statusCode == 200) {
print("OK!!!")
}
})
task.resume()
在這一行: let httpResponse = response as! NSHTTPURLResponse
let httpResponse = response as! NSHTTPURLResponse
我有一個奇怪的警告: Cast from 'NSData' to unrelated type 'NSHTTPURLResponse' always fails
我應該如何擺脫它? 謝謝!
您正在將data
內容解包到名為response
的常量中。 這是您問題的根源,因為那時您正在使用一個,認為您正在使用另一個。
另外,為什么要強行解開沮喪的東西?
最好像你已經做的那樣繼續使用guard
。
例子:
let task = session.dataTaskWithRequest(request, completionHandler: { (data, response, error) -> Void in
guard let data = data else {
print("Error: did not receive data")
return
}
guard error == nil else {
print("error")
print(error)
return
}
guard let httpResponse = response as? NSHTTPURLResponse else {
print("response unavailable")
return
}
let statusCode = httpResponse.statusCode
if statusCode == 200 {
print("OK!!!")
}
})
task.resume()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.