NSUrlConnection挂起didReceiveData,但并非总是如此

时间:2012-09-19 15:22:31

标签: iphone objective-c uitableview

从网络下载图片时遇到问题。

我有一个全屏单元格的uitableview,每个单元格背景都是使用一组网址从网页下载的图像。

问题首次出现在FIRST单元格上,而第一次没有加载图像,但如果我向下滚动到第二个单元格,然后再向上滚动到第一个单元格,它会成功加载!

该应用程序坚持使用此方法:

-(void) connection:(NSURLConnection *)connection didReceiveData:(NSData *)data{
NSLog(@"receiving data");
[downloadData appendData:data];

}

我有一台配有iOS6的iPhone 4s,但这个问题并没有发生,图像加载完美。

有什么建议吗?

提前致谢

修改

使用扩展UIImageView的UIImageViewDownload.m

- (void) loadImage{
NSURLRequest *request= [NSURLRequest requestWithURL:myurl];
NSURLConnection *conn= [NSURLConnection connectionWithRequest:request delegate:self];
if(conn){
    NSLog(@"Sto scaricando");
    downloadData=[[NSMutableData alloc]init]; 
    indicator= [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
    [indicator setFrame:CGRectMake(0, 0, 30, 30)];
    [indicator setCenter:CGPointMake(self.frame.size.width/2, self.frame.size.height/2)];
    [self addSubview:indicator];
    [indicator startAnimating];

}

-(void) connection:(NSURLConnection *)connection didReceiveData:(NSData *)data{
NSLog(@"ricevo data");
[downloadData appendData:data];

}

-(void) connectionDidFinishLoading:(NSURLConnection *)connection{
NSLog(@"finisco data");
UIImage *img= [UIImage imageWithData:downloadData];
[self setImage:img];
[indicator stopAnimating];

}

0 个答案:

没有答案