在Objective C中,可以使用以下语法:
NSHTTPURLResponse *response = nil;
NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:nil];
if ([response statusCode] == 404)
{
}
Run Code Online (Sandbox Code Playgroud)
现在在Swift我使用过:
var response : AutoreleasingUnsafeMutablePointer<NSURLResponse?> = nil
let urlData = NSURLConnection.sendSynchronousRequest(request, returningResponse: &response, error: err)
Run Code Online (Sandbox Code Playgroud)
哪个有效,但我不能再访问statusCode,因为如果我使用NSHTTPURLResponse它会返回一个需要NSURLResponse的错误!
你知道怎么解决这个问题吗?
Nat*_*ook 26
AutoreleasingUnsafeMutablePointer您可以简单地使用&包装要发送指针的值来代替手动创建- 您的代码变得更加简单:
var response: NSURLResponse?
var error: NSError?
let urlData = NSURLConnection.sendSynchronousRequest(request, returningResponse: &response, error: &error)
Run Code Online (Sandbox Code Playgroud)
通话结束后,您需要转换您的响应NSHTTPURLResponse以访问这些属性:
if let httpResponse = response as? NSHTTPURLResponse {
println(httpResponse.statusCode)
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12066 次 |
| 最近记录: |