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];
        NSData *photoData = [NSData dataWithContentsOfURL:[NSURL URLWithString:urlString]];
       [image addObject:photoData];
    }

我的问题是,如果发生网络故障,它显示线程......如何处理这个线程?

4

2 回答 2

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);
            }
        }


  }
于 2012-09-21T12:56:29.743 回答
0

您的“线程”问题(这是一个错误/异常)可能是由多种因素引起的。可能是 Internet 连接中断,或者服务器抛出某种形式的 http 错误。

首先,确保在运行网络操作时不会丢失任何 Internet 连接。关于如何检查互联网连接有很多建议。一种是使用ReachabilitySDK本身提供的类。看看这篇文章如何做到这一点:如何在 iOS 或 OSX 上检查活动的 Internet 连接?

本文还将为您提供有关 Internet 连接的进一步见解:Testing internet connection on iPad app using ios5

当您确定不是 Internet 连接,而是 http 服务器错误时。确保您调用的 http 服务正确地传回数据。我使用一些 REST 客户端工具来检查这个(REST 客户端

最后,我测试了您尝试在浏览器上调用的 URL,它会引发Bad Request错误。这意味着它与您的 iOS 代码无关。如果此服务器在您的控制之下,您应该修复它。

于 2012-09-21T12:58:00.153 回答