我正在使用以下代码
NSMutableArray *image=[[NSMutableArray alloc]init];
for(int i=1;i<4;i++)
{
NSString *urlString =[NSString stringWithFormat:@"http://www.isco.com/webproductimages/appBnr/bnr%d.jpg",i];
NSData *photoData = [NSData dataWithContentsOfURL:[NSURL URLWithString:urlString]];
[image addObject:photoData];
}
我的问题是,如果发生网络故障,它会显示线程...... 如何处理这个线程??
答案 0 :(得分:0)
NSMutableArray *image=[[NSMutableArray alloc]init];
for(int i=1;i<4;i++)
{
NSString *urlString =[NSString stringWithFormat:@"http://www.isco.com/webproductimages/appBnr/bnr%d.jpg",i];
NSError *error;
NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:urlString] options:NSDataReadingUncached error:&error ];
if (data) {
[image addObject:photoData];
}
else{
if (error) {
NSLog(error);
}
}
}
答案 1 :(得分:0)
您的“线程”问题(这是一个错误/异常)可能是由多个因素引起的。可能是互联网连接断开,或服务器抛出某种形式的http错误。
首先,确保在运行网络操作时没有丢失任何互联网连接。关于如何检查互联网连接有很多建议。一种是使用SDK本身提供的Reachability
类。请看这篇文章:How to check for an active Internet connection on iOS or OSX?
这篇文章还将为您提供有关互联网连接的更多见解:Testing internet connection on iPad app using ios5
当您确定它不是互联网连接,而是http服务器错误。确保您正在呼叫的http服务正确地传回数据。我使用一些REST客户端工具来检查这个(REST Client)
最后,我测试了您尝试在浏览器上调用的URL,它会引发Bad Request
错误。这意味着它与您的iOS代码无关。如果此服务器在您的控制之下,您应该解决该问题。