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

4

1 回答 1

1

这 nil 不是因为它很慢,而是因为请求失败dataWithContentsOfURL:是一种同步方法,这意味着在请求完成或失败之前,您的程序将不会继续执行。

正确处理 HTTP 请求中的错误情况需要更多的设置。您应该使用ASI HTTP Request 之类的东西来更优雅地处理您的请求和成功/错误处理程序。

于 2012-12-07T20:02:12.463 回答