2016-08-15 56 views
0

那麼,有人可能會問爲什麼你應該這樣做?選擇集合中不可見的單元格

我有一個視圖裏面的一些視圖,用戶可以選擇一個單元格。 然後保存此選項,稍後,當用戶想要再次輸入該視圖時,他應該能夠看到他先前保存的選擇。

如果他的選擇是在集合視圖的結尾,我將無法與他以前的選擇加載集合看法,因爲:

for cell in collectionView.visibleCells() 
    // find and select previous cell 

將通過所有的細胞不循環,特別是一個用戶選擇了(目前還不存在)。

有沒有解決這個問題的方法?

回答

0

後好了很多搜索的,有什麼工作對我來說是設置一個局部變量說:selectedCell,然後當我想顯示以前的用戶選擇單元格,我將只設置變量,並於:

func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell 
{ 
      if(indexPath.row==selectedCell) 
} 

我正在檢查它是否已經選擇並標記它。 我無法自動找到任何其他聰明的方法。

1

您可以記住所選行的確切索引路徑(使用indexPathsForSelectedRows),但如果您的dataSource設置更改/更新並且記憶索引可能因新的/不同的數據集而變得無效,則這仍然不安全。因此,您應該記住選擇「真實世界」對象(您要填充特定單元格數據的位置,例如標題等),例如通過記住您選擇的對象標識符,以便您可以重新映射和重新選擇行在重新加載不同數據的情況下。對象選擇的管理通常完全掌握在你的手中。

相關問題