在ios 6中,我有一个调用sendAsynchronousRequest的图像下载方法。当图像数量太多时,永远不会调用完成块,并且有超过60个工作线程永远不会被销毁(因此图像下载永远不会完成)。在ios 7中它似乎工作正常。你是如何做到这一点的?代码如下
for(NSDictionary * imageDict in thumbnailJSONArray){
NSString * thumbNailString = [imageDict objectForKey:JSON_URL];
//other codes..
[self downLoadThumbNails:numbertoAdd urlRequest:thumbNailString];
}
-(void)downLoadThumbNails:(NSUInteger) numberToAdd urlRequest:(NSString*)urlString {
if(self.imageQueue == nil){
self.imageQueue = [[NSOperationQueue alloc] init];
}
[NSURLConnection sendAsynchronousRequest:urlRequest queue:self.imageQueue completionHandler:^(NSURLResponse *response, NSData* data, NSError *connectionError) {
//image setting codes
}];
}
- EDIT-- 更清楚的是,永远不会调用图像设置代码,因此永远不会设置下载的图像。