С введением iOS 10 кажется, что у нас будет prefetching включен по умолчанию в UITableView и UICollectionViews. Это означает, что ячейки, которые не отображаются на экране, будут выбраны, прежде чем пользователь их увидит.
Вот некоторые релевантные методы:
- cellForRowAtIndexPath:: возвращает "
nil
, если ячейка не видна." - visibleCells: каждый элемент представляет "видимую ячейку в представлении таблицы".
- indexPathsForVisibleRows: каждый элемент представляет "видимую строку в представлении таблицы".
- visibleCells: "возвращает полный список видимых ячеек, отображаемых в виде коллекции."
- indexPathsForVisibleItems: каждый элемент представляет "видимую ячейку в представлении коллекции".
- cellForItemAtIndexPath:: возвращает "
nil
, если ячейка не видна."
Все это конкретно упоминает "видимые" в своих описаниях. С введением предварительной выборки в iOS 10, как бы я мог различать предварительно выбранную ячейку против той, которая в настоящее время видима?
Другими словами:
- Как получить все видимые ячейки?
- Как получить все загруженные ячейки?
Не похоже, что есть какие-либо новые API-интерфейсы для UITableView или UICollectionView, которые могут помочь в этом.