我有一個控制器實現與UICollectionView,它有兩個部分。 段數據是從兩個不同的API中獲取的,並且返回順序是未知的。reloadSections:和reloadData單元沒有正確更新後的UICollectionView
返回第一節數據時,我調用reloadSections更新第一節的單元格。 當第二節數據返回時,我調用reloadData來更新整個單元格(包括第一節和第二節)
但是如果我在reloadSections之前調用reloadData,則單元格會正確更新。 在reloadData之前調用reloadSections時,第二部分中的項計數是正確的,但單元顯示的是重複內容,而不是新內容。
我寫了一個演示項目並向第二部分插入新數據,調用reloadData,將新數據插入到第一部分。收集視圖也可以正常工作。
它只是不起作用,當我打電話reloadSections:FirstSection,然後調用reloadData。
示範項目,可以在這裏找到: https://github.com/6david9/ReloadData/blob/master/ReloadData/ReloadData/ViewController.m
附:當我爲每個部分更新調用reloadSections時,結果是正確的!
p.s.當我爲第一部分調用reloadSections時,它將重新加載第一部分中的所有單元格。但在此之後,我調用reloadData它只調用cellForItem爲第二部分中的最後一項,我將新項目添加到第二部分的前面。所以它顯示了最後一個項目的最後一個項目的重複內容。
錯誤不是由細胞重複使用 – 6david9