2010-09-15 108 views

回答

0

我想你

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

在此先感谢您的反馈想要通过你的错误:

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

检查(错误!=无) – Bharathi 2012-04-05 11:04:23

0

如果你使用HTTP的工作,那么你也可以检查状态代码。例如:

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

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

我想补充,使用的XCode 6.2和iOS 8.2和HTTPS的Web服务,我发现“sendSynchronousRequest”回报在返回“401未授权”响应的服务上返回一个零NSHTTPURLResponse。但是,'数据'返回包含一个混乱的XML结构,其中包含'Access is denied'字符串。很奇怪。 – 2015-03-30 08:07:37

0

正确的方法是定义一个错误变量集它零和在NSURLConnection的使用其参考,使得误差在参考存储器位置返回。查存储器是零,并且如果成功零,如果它有一些有效的记忆是错误

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

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