2010-09-15 176 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 
}