Cómo cargarse frente a celdas visibles en un UITableView o UICollectionView

Con la introducción de iOS 10, parece que vamos a tenercaptación previa habilitada de forma predeterminada en UITableView y UICollectionViews. Esto significa que las celdas que no se muestran en la pantalla se recuperarán antes de que el usuario las vea.

Aquí hay algunos métodos relevantes:

UITableView:

cellForRowAtIndexPath:: devoluciones "nil si la celda no es visible ".Células visibles: cada elemento representa "una celda visible en la vista de tabla".indexPathsForVisibleRows: cada elemento representa "una fila visible en la vista de tabla".

UICollectionView:

Células visibles: "devuelve la lista completa de celdas visibles que muestra la vista de colección".indexPathsForVisibleItems: cada elemento representa "una celda visible en la vista de colección".cellForItemAtIndexPath:: devoluciones "nil si la celda no es visible ".

Todos estos mencionan específicamente "visible" en sus descripciones. Con la introducción de la captación previa en iOS 10, ¿cómo distinguiría entre una celda que fue captada previamente y una que actualmente es visible?

En otras palabras:

¿Cómo obtengo todas las celdas visibles?¿Cómo obtengo todas las celdas cargadas?

No parece que haya API nuevas en UITableView o UICollectionView que puedan ayudar con esto.

Respuestas a la pregunta(1)

Su respuesta a la pregunta