2012-12-07 35 views
0

有沒有一種方法可以等到通話結束?這是代碼:等待電話到數據庫

NSString *strImmagineURL = [NSString stringWithFormat:@"http://www.xxxgo.net/Scxxs/Evento/WIG2ricexxx.php?evento=%@",idLocale]; 
NSData *dataImmagineURL = [NSData dataWithContentsOfURL:[NSURL URLWithString:strImmagineURL]]; 
immagine = [UIImage imageWithData:dataImmagineURL]; 

[`arrayFoto` addObject:immagine]; 

我注意到,當在緩慢的連接,ADDOBJECT崩潰我的應用程序,因爲immagine仍然是零。我想等待immagine,然後填寫arrayFoto

+0

我很確定dataWithContentsOfURL是一個阻塞調用。你確定它是因爲連接速度慢,而不是因爲url有時返回一個零對象? –

回答

1

這不是因爲它很慢,而是因爲請求失敗dataWithContentsOfURL:是一個同步方法,這意味着程序的執行將不會繼續,直到請求完成或失敗。

正確處理HTTP請求中的錯誤情況需要更多的設置。你應該使用類似ASI HTTP Request的東西來更好地處理你的請求和成功/錯誤處理程序。