如何检测NSURLConnection的sendSynchronousRequest:returningResponse:error:最终是否超时或其他错误

ike*_*8me 5 cocoa objective-c nsurlconnection ios

我使用NSURLConnection's sendSynchronousRequest:returningResponse:error:方法(在一个单独的NSOperation线程中)连接到外部服务器以检索数据.如何知道操作是否超时或其他网络错误?

g_f*_*red 14

如果出现错误,则sendSynchronousRequest:returningResponse:error:返回时error参数将为非nil .

您可以通过检查返回的值来检索错误代码[NSError code].超时的错误代码是NSURLErrorTimedOut.

例如:

NSError *error = nil;
[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error]

if (error.code == NSURLErrorTimedOut) {
// Handle time out here
}
Run Code Online (Sandbox Code Playgroud)