Очистить все ячейки из UICollectionView

Используя удивительный новый UICollectionView iOS6, как я могу удалить все объекты UICollectionViewCell в большом цикле?

Скажем, я уже загрузил в него все свои данные, я нажимаю «Обновить», я хочу удалить все, что там есть, а затем просто снова вызываю свои вещи.

Я нашел deleteItemsAtIndexPaths, который принимает NSArray, так как я могу поместить в него все предметы?


person James    schedule 28.10.2012    source источник


Ответы (2)


Правильный способ очистки UICollectionVew — просто очистить источник данных, а затем перезагрузить представление коллекции.

Итак, если ваш источник данных был массивом:

self.dataArray = nil;
[self.collectionView reloadData];

Бум, тебя убрали.

person Micah    schedule 13.03.2014
comment
БУМ, грохот, в моем случае. - person Duck; 28.03.2020

Оказывается, я могу использовать deleteSections и передать ему NSIndexSet, создав диапазон 0,0, и он удалит один-единственный раздел.

NSIndexSet *indexSet = [NSIndexSet indexSetWithIndexesInRange:NSMakeRange(0, 0)];
[self.collectionView deleteSections:indexSet];

Вероятно, я мог бы просто использовать indexSetWithIndex, но когда я это сделал, мое приложение разбилось.

person James    schedule 29.10.2012
comment
почему происходит сбой indexSetWithIndex:0? Я сталкиваюсь с этим и не знаю, почему - person Wingzero; 19.03.2015