我正在尝试使用以下代码在应用程序中下载数据
NSURL *url = [NSURL URLWithString:@"my download url string"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:60.f];
NSURLConnection * connection = [NSURLConnection connectionWithRequest:request delegate:self];
[connection start];但问题是,有时我会得到以下错误
Error Domain=NSURLErrorDomain Code=-1001 "The request timed out." UserInfo=0x1d5be240
{NSErrorFailingURLStringKey=http://dr282zn36sxxg.cloudfront.net/datastreams/f-
d%3Afc7f649e1e3ba58452f67e3fa1f66f69a15b96b3ea585c946e4fa854%2BEPUB%2BEPUB.1,
NSErrorFailingURLKey=http://dr282zn36sxxg.cloudfront.net/datastreams/f-
d%3Afc7f649e1e3ba58452f67e3fa1f66f69a15b96b3ea585c946e4fa854%2BEPUB%2BEPUB.1,
NSLocalizedDescription=The request timed out., NSUnderlyingError=0x1e1975b0 "The request
timed out."}那么,有没有人能建议我怎么解决这个问题。。。
发布于 2013-09-09 01:50:51
增加超时间隔,如150秒。
发布于 2013-09-02 18:41:09
尝试使用名为[NSURLConnection sendAsynchronousRequest:queue:completionHandler:的GCDs抽象
示例
NSURL *url = [NSURL URLWithString:@"your_URL"];
NSURLRequest *myUrlRequest = [NSURLRequest requestWithURL:url];
NSOperationQueue *queue = [[NSOperationQueue alloc] init];
[NSURLConnection sendAsynchronousRequest: myUrlRequest queue: queue completionHandler: ^ (NSURLResponse *response, NSData *data, NSError *error)
{
if ([data length] > 0 && error == nil)
//doSomething With The data
else if (error != nil && error.code == ERROR_CODE_TIMEOUT)
//time out error
else if (error != nil)
//download error
}];IT有什么不同吗?
发布于 2013-09-02 18:12:04
错误消息清楚地表明请求已超时-转到您获得更好的网络速度或增加请求超时的地方,我现在看到它有时是60,这可能不足以下载图像。
https://stackoverflow.com/questions/18570215
复制相似问题