2016-09-15 2 views
0

У меня есть приложение, которое отображает данные несколькими способами, одним из которых является просмотр коллекции.Swift CollectionView падает при удалении элементов из общего источника данных

CollectionView отображает данные из массива, который находится в другом ViewController. Этот другой ViewController отвечает за добавление и удаление элементов в массив и из него.

После того, как элемент удален, а reloadData() вызван сбоем приложения. Я пробовал различные методы для удаления ячейки, которая отображает удаленные данные до вызова reloadData(), но я не могу заставить ничего работать.

Единственное, что я вижу в консоли: *** неудача Assertion в - [UICollectionViewData validateLayoutInRect:], /BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit/UIKit-3599.6 /UICollectionViewData.m:433

Любая важная информация была бы оценена

+0

Не могли бы вы показать код того, что вы делаете? – Zico

ответ

1

я в конечном итоге найти решение. Я реализовал пользовательский UICollectionViewLayout, в котором я сохранил атрибуты для каждой ячейки в массиве.

Проблема заключалась в том, что моя первоначальная реализация не была предназначена для обработки динамического источника данных (добавление/удаление элементов после инициализации).

Хотя ячейки были удалены, атрибуты макета все еще оставались.

Как только я обратился к этому, CollectionView правильно динамически добавил и удалил элементы.