2016-08-15 4 views
0

これを行う必要があるのはなぜですか?コレクション内に目に見えないセルを選択してください。

私は、ユーザがセルを選択できるいくつかのビューの中にコレクションビューを持っています。 この選択が保存され、後でユーザーがそのビューに再度入力したいとき、彼は以前に保存された選択を見ることができるはずです。

彼の選択はコレクションビューの終わりだった場合ので、私は、彼の前の選択とコレクションビューをロードすることはできません。

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

は、すべてのセルをループ、特に1はありませんユーザーは(それはまだ存在しません)を選択しました。

この問題を解決する方法はありますか?検索の多くの後によく

答えて

0

、どのような私の作品は、ローカル変数を設定することであると言う:selectedCell、私は以前、ユーザが選択したセルを表示したいときに、私はちょうど変数を設定し、上:

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

既に選択されているかどうかを確認しています。 私はそれを自動的にそうする他の巧妙な方法を見つけることができませんでした。

1

indexPathsForSelectedRowsを使用して、選択した行の正確なインデックスパスを覚えることができますが、dataSourceセットが変更/更新され、記憶されたインデックスが新しい/異なるデータセットで無効になる可能性があります。したがって、あなたが選択したオブジェクト識別子を覚えておくなど、実際のオブジェクトの選択を覚えておく必要があります(たとえば、タイトルなどのような特定のセルデータを書き込む場合)ので、行を再マップして再選択することができます異なるデータを再ロードする場合オブジェクト選択の管理は、通常、完全にあなたの手にあります。

関連する問題