2012-10-18 60 views
1

我想顯示圖像和文字在我的應用程序中使用tableview,爲懶惰圖像下載,我使用NSBlockOperation和NSOPerationQueue圖像下載。這樣所有的圖像請求將被添加到隊列中,並且同時下載的圖像將被啓動。如果您等待幾分鐘以便下載所有圖像,則它在登錄到該頁面時工作良好。如果一旦到達此屏幕並返回到上一個屏幕,應用程序就會崩潰。我可以理解問題是屏幕不再存在。幫我!我將如何解決這個問題?懶惰的圖像下載在iOS中使用NSBlockOperation和NSOperationQueue

感謝您的幫助!

,如果你想下載的圖像異步那麼請看一看這個倉庫的github,也請參閱本斯

+0

如果沒有崩潰日誌和代碼,這是不可能的。請編輯您的問題以包含它們。 – jrturton

回答

1

blog希望能解決你的問題。對於崩潰放一些代碼。

0

的解決方案是使用這個庫,並且不需要你設置下載它,在庫處理本身 - SDWebImage

你只需要#import <SDWebImage/UIImageView+WebCache.h>到你的項目,你也可以定義佔位符圖像時正在下載與此代碼:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
     static NSString *CellIdentifier; 
     CustomCell *cell = [tableview dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath]; 

     MyObject *object = (MyObject *)[self.list.array objectAtIndex:indexPath.row]; 

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

     return cell; 
} 

它也緩存下載的圖像,併爲您提供良好的性能。