В ходе попытки разгрузить один пакет изображений от моего набора просматривают и затем заменяют их другим пакетом, я сталкиваюсь с ошибкой, где, в зависимости от того, была ли исходная или последующая группа изображений более или менее, чем намеченная замена, ошибка утверждения происходит, который говорит:
*** Assertion failure in -[UICollectionViewData validateLayoutInRect:],
/SourceCache/UIKit_Sim/UIKit-2891.1/UICollectionViewData.m:341
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException',
reason: 'UICollectionView recieved layout attributes for a cell with an
index path that does not exist: <NSIndexPath: 0xb141c60> {length = 2, path = 0 - 2}
В этом случае существующий список количества изображений равнялся 5, и новый список количества изображений равнялся 2. Так, когда это добралось до третьего изображения - исключение произошло - указание, что UI CollectionViewDataDelegate не знал об изменении в потоке данных.
На какие-либо предложения о том, как удостовериться новые изображения, сошлется UICollectionView? Конечно, я назвал 'reloadData' …
Спасибо
В моем случае у меня было пользовательское UICollectionViewFlowLayout
. После удаления ячеек от collectionView разрушенное приложение. Фиксация была к removeAll()
ранее расчетные атрибуты. Так, первая строка после override func prepare()
arrayHoldingYourAttributes.removeAll()
.