我正在使用NSURLRequest在SWIFT中构建rest查询
var request : NSURLRequest = NSURLRequest(URL: url)
var connection : NSURLConnection = NSURLConnection(request: request, delegate: self, startImmediately: false)!
connection.start()我的问题是如何从返回的响应中获取响应代码:
func connection(didReceiveResponse: NSURLConnection!, didReceiveResponse response: NSURLResponse!) {
//...
}根据苹果的说法:NSHTTPURLResponse是NSURLResponse的一个子类,它有一个状态代码,但是我不知道如何降低响应对象,这样我就可以看到响应代码。
这似乎并没有切断它:
println((NSHTTPURLResponse)response.statusCode)谢谢
发布于 2014-10-29 15:41:00
使用带有可选绑定(as?)的可选强制转换(if let):
func connection(didReceiveResponse: NSURLConnection!, didReceiveResponse response: NSURLResponse!) {
if let httpResponse = response as? NSHTTPURLResponse {
println(httpResponse.statusCode)
} else {
assertionFailure("unexpected response")
}
}或者是一字一句
let statusCode = (response as? NSHTTPURLResponse)?.statusCode ?? -1如果响应不是happen,状态代码将被设置为-1 (对于HTTP请求不应该发生这种情况)。
https://stackoverflow.com/questions/26634539
复制相似问题