2017-12-04 2 views
0

UICollectionViewsは、コレクションビューに含まれるセルにアクセスするためのメソッドcellForItem(at:)を公開しています。UICollectionViewは、cellForItem(at :)が呼び出されたときに、そのデータソースをフードの下で使用しますか?

また、コレクションビューは、データソースのセルを作成および設定するために、そのデータソースのcollectionView(_:cellForItemAt:)メソッドを使用しています。

ただし、ブレークポイントを使用すると、cellForItem(at:)を呼び出すと、collectionView(_:cellForItemAt:)が呼び出されることはありません。何が起きてる?どのセルを返すべきかを知るために、コレクションビューがそのデータソースにアクセスする必要はありませんか?それはある時点ですべてのセルをキャッシュしていますか?それがいつ起こっているのでしょうか?

答えて

1

cellForItem(at:)セルがオンスクリーンでない場合は、nilが返されるため、collectionView(_:cellForItemAt:)を呼び出してセルを取得する必要はありません。画面上にあればセルを返し、それ以外の場合にはnilを返します。

関連する問題