2016-03-05 62 views
0

我需要在訪問另一個類中的webservice後,在集合視圖上實現圖像的延遲加載。 (流程如下)如何在ios中的集合視圖上實現延遲加載

  1. 選擇一個類別。
  2. 點擊過濾選項。
  3. 檢查品牌,款式,價格和顏色等不同類別的所需物品。
  4. 最後點擊完成。然後應該爲篩選的項目列表調用Web服務,每次返回20個項目,並且控件進入具有20個項目(頁面#1)的類別屏幕。如果應該顯示超過20個項目,它將加載並返回更多項目。

我該如何實現?

回答

0

基本步驟

  1. 你應該有一些數據結構at代表collectionview中的項目。爲了簡單起見,我將假設這是一個數組。

  2. 實現UICollectionViewDataSource方法在數據源中顯示該數組。

  3. 當你的web服務的回報,(一)更新數組(B)調用reloadData在集合視圖

其他事項:

  1. 必須調用reloadData對主線程 - 如果你的web服務代碼在後臺線程中,使用:

    dispatch_async(dispatch_get_main_queue(), ^{ 
        // call reload here 
    }); 
    
  2. 如果你想做最小的更新,你需要知道到底發生了什麼變化。例如,如果您知道只是在數組末尾添加了單個項目,則可以撥打insertItemsAtIndexPaths:來表示收集視圖,只需要詢問該新項目即可。