2016-09-22 28 views
0

我有許多控制器,我使用SDWebImage Library下載圖像。我使用的,因爲這些我都下載操作在FIFO系列隊列裏面去下面的代碼如何爲SDWebImageManager創建不同的實例

[[SDWebImageManager sharedManager] downloadImageWithURL:[NSURL URLWithString:_urlToDownloadFrom] options:0 progress:nil completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, BOOL finished, NSURL *imageURL) 
    { 
     _productInfo.isDownloading = false; 

     _productInfo.isImageDownloadedScuessfully = finished; 

     if (image) 
     { 
      [_productInfo setMainImg:image]; 
      canShowListView ? [self.listCollectionView reloadData] : [self.gridCollectionView reloadData]; 
     } 
    }]; 

正如代碼所示,我使用SDWebImageManager共享實例下載數據。因此,例如我有一個控制器,我下載10張圖像,然後再推上另一個控制器,下載更多5張圖像。因此,對於來自頂級控制器的這些新圖像,他們必須等到先前的控制器下載這10個圖像。我怎麼解決這個問題?我認爲唯一可行的解​​決方案是創建SDWebImageManager的新實例,但同時也會創建SDWebImageDownloader共享實例。

回答

0

你試過SDWebImageDownloader?我記得它有一個下載操作隊列,你可以配置併發下載的數量。

0

,因爲我看到的是另一種possibililty,當你撥打:

這是在 this class (SDWebImageDownloader)定義
[[SDWebImageManager sharedManager] downloadImageWithURL: 

,實現了一個NSOperationQueue爲保持排隊的操作和此隊列的優先級可以設置see the Priority section in here

我的建議是,也許設置此隊列的優先級可以解決您的問題。

相關問題