检查sendingynchronousrequest是否成功

时间:2010-09-15 15:32:58

标签: iphone request nsurlconnection send synchronous

我只是想知道这是否是检查sendynchronousrequest是否成功的正确方法:

NSData* returnData = [NSURLConnection sendSynchronousRequest:req returningResponse:nil error:nil];
if(returnData == nil)
{
    //code showing an alertView for example
}
else
{
    //do somthing else
}

提前感谢您的反馈 肖恩

3 个答案:

答案 0 :(得分:0)

我想你想传递一些错误信息:

NSData* returnData = [NSURLConnection sendSynchronousRequest:req returningResponse:nil error:&error];

if(error != 0)
  // good to go
else
  // error

但我可能错了,只是很快就看了一眼。

我确实看过这篇文章..我认为他问的是类似的事情:

http://discussions.apple.com/thread.jspa?threadID=1647649

答案 1 :(得分:0)

如果您正在使用HTTP,那么您还可以检查状态代码。例如:

NSHTTPURLResponse *response;
NSError *error;
NSData *data = [NSURLConnection sendSynchronousRequest:request
                                     returningResponse:&response
                                                 error:&error];

if ((nil != data) && (200 == [response statusCode])) {
    // Process data
}

答案 2 :(得分:0)

正确的方法是定义一个错误变量,将其设置为nil并在nsurlconnection中使用它的引用,以便在该引用内存位置返回错误。检查内存是否为零,如果没有成功,如果它有一些有效的内存它是错误

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

if (error ==nil ) {
    // Success mechanism
}
else
{
 //Failure Mechanism
}