2013-06-19 60 views
1

在我的cellForRowAtIndexPath方法中我有一些代碼通過UIImageView + AFNetworking類別異步下載圖像 但據我瞭解cellForRowAtIndexPath方法每當我滾動表格到單元格時,每次圖像下載開始時。我可以緩存圖像或單元格或類似的東西嗎?在通過網絡下載圖像時重新加載UITableView

- (UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 
    UITableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
    //some code here 
    [imageView setImageWithURL: myURL placeholderImage:[UIImage imageNamed:@"placeholder"]]; 
    //some other code here 
    return cell; 
} 
+0

not [imageView setImageWithURL:myURL placeholderImage:[UIImage imageNamed:@「placeholder」]]; –

+0

但是[cell.imageView setImageWithURL:myURL placeholderImage:[UIImage imageNamed:@「placeholder」]]; –

+0

您可以使用'edit'鏈接更正您的發佈代碼。 –

回答

4

UIImageView+AFNetworking會自動緩存使用AFImageCache(一NSCache子類)您的圖像,因此他們不會需要下載兩次。

當一個單元格回滾到視圖中時,它將使用緩存的圖像,而不是進行網絡調用,只要URL相同即可。

如果您經常使用它,瀏覽此類別的實施源碼可能會對您有所幫助。該source code can be found here

+0

爲什麼投票? –