2014-09-27 1 views
0

URL에서 다운로드 한 이미지는 UITableView를 스크롤하기 시작할 때만 UITableViewCell의 이미지를 표시합니다. 이제 다음 코드를 사용하여 URL에서 이미지를로드합니다.UITableViewCell의 url의 이미지가 테이블보기를 스크롤 할 때만로드됩니다.

NSURL* url = [NSURL URLWithString:imageURL]; 
    NSURLRequest* request = [NSURLRequest requestWithURL:url]; 


[NSURLConnection sendAsynchronousRequest:request 
     queue:[NSOperationQueue mainQueue] 
     completionHandler:^(NSURLResponse * response, 
      NSData * data, 
      NSError * error) { 
    if (!error){ 
      NSImage* image = [[NSImage alloc] initWithData:data]; 
     // do whatever you want with image 
    } 

}]; 

감사합니다.

+0

어디에서이 코드를 호출합니까? tableView 업데이트 방법을 추가 할 수 있습니까? – Craig

+0

이 코드는 indexpath에있는 행에 대해 셀에 사용하고 있습니다. – Arun

답변

0

- (UITableViewCell *)cellForRowAtIndexPath:(NSIndexPath *)indexPath에 이미지를 가져 오면 안되는 데이터 저장소로 작동하는 유틸리티 클래스를 만들어야합니다. 이제 코드를 세우는 동안 셀이 스크롤 될 때 또는 보이지 않을 때 이미지를 여러 번 다시 요청할 수 있습니다.

0

매우 강력하고 간단합니다. SDWebImage을 적극 권장합니다.

setImageWithURL 카테고리를 사용할 수 있습니다. 간단히 imageView 이미지를 설정하십시오. 예를

[cell.imageView setImageWithURL:[NSURL URLWithString:@"http://www.domain.com/path/to/image.jpg"] 
       placeholderImage:[UIImage imageNamed:@"placeholder.png"]];` 

을 위해 그리고 당신은 단순히 [[SDImageCache sharedImageCache] storeImage:myImage forKey:myImageCacheKey]하여 이미지 캐시를 저장하고 간단하게 [[SDImageCache sharedImageCache] queryDiskCacheForKey:myImageCacheKey done:^doneBlock]하여 이미지 캐시를 조회 할 수 있습니다;

매우 간단하고 강력하며 자세한 내용은 여기를 참조하십시오 SDWebImage;

관련 문제