A collection view seems to recompute items less often than a UITableView. You have to inform the collection view about most of the changes to the underlying model, e.g. by calling [collectionView reloadData] or [collectionView insertItemsAtIndexPaths:indexPaths].