Ho bisogno di sapere quando ricaricare un UICollectionView è stato completato per configurare le celle in seguito (perché non sono l'origine dati per le celle - altrimenti sarebbe già stato fatto in altro modo. codice ..)Il ricaricamento di un UICollectionView utilizzando il metodo reloadData ritorna immediatamente prima del ricaricamento dei dati
ho provato come
[self.collectionView reloadData];
[self configure cells]; // BOOM! cells are nil
ho provato anche utilizzando
[self.collectionView performBatchUpdates:^{
[self.collectionView reloadData];
} completion:^(BOOL finished) {
// notify that completed and do the configuration now
}];
ma quando ricaricare il da ta Sto andando in crash.
Come posso ricaricare i dati nella collezione, e solo quando ha finito di ricaricare - fare un particolare gestore di completamento
Penso di aver riscontrato un problema simile. Il problema è che le celle vengono caricate durante layoutSubview che avviene durante il prossimo passaggio del ciclo di esecuzione. Purtroppo non ho ancora trovato la soluzione. mi chiedo perché UICollectionViewDelegate non ha metodi come: - CollectionView: willBeginDisplayingCell: forItemAtIndexPath: mentre c'è: - CollectionView: didEndDisplayingCell: forItemAtIndexPath: avete risolto già che uno? – lukewar
Quello che sta accadendo è che il blocco di aggiornamenti in batch si aspetta che tu faccia chiamate per aggiungere e rimuovere righe/sezioni che corrispondono al nuovo numero di righe e sezioni che si verificano durante il ricaricamento. Se ciò non accade, viene lanciata un'asserzione. –