Вопрос проверяет понимание жизненного цикла ячейки и необходимости сброса состояния при переиспользовании.
Ячейки в UICollectionView переиспользуются, а значит их состояние сохраняется между показами. Если изображение не сбрасывается перед повторным использованием, старая картинка может отобразиться для новых данных. Это особенно заметно при быстром скролле. Без правильной очистки ячейка показывает устаревший контент. В итоге пользователь видит некорректное изображение.
Некорректное отображение изображений напрямую связано с тем, что ячейка — это не одноразовый объект.
UICollectionView повторно использует экземпляры ячеек для разных элементов данных.
Ячейка создается один раз
Затем используется многократно
UIKit не сбрасывает ее состояние автоматически
Все свойства, включая imageView.image, остаются прежними.
Текстовые поля чаще всего обновляются синхронно.
Значение устанавливается сразу
Нет задержек
Старое значение быстро перезаписывается
С изображениями ситуация другая из-за асинхронности.
Часто в cellForItemAt сразу запускают загрузку изображения, но забывают очистить старое состояние.
cell.imageView.image = nil // или placeholder
Если этого не сделать, пользователь может увидеть изображение от предыдущей модели.
Ячейка всегда должна быть приведена в нейтральное состояние перед повторным использованием. Без этого изображения будут отображаться некорректно, особенно при активном скролле.