Sono nuovo di UICollectionView
e sto seguendo un tutorial che ho trovato sul Web ma sono bloccato su un errore che non riesco a capire. Ecco un po 'di contesto.UICollectionView deve essere inizializzato con un parametro di layout non nullo
Nel debugger posso vedere che segue sta accadendo:
numberOfSectionsInCollectionView
: si chiama e torno 1collectionView:numberOfItemsInSection:
è chiamato e mi restituirà la dimensione del modello (20)collectionView:layout:sizeForItemAtIndexPath:
viene chiamato una volta per ogni elemento nel modello dicollectionView:layout:insetForSectionAtIndex:
si chiamacollectionView:cellForItemAtIndexPath:
g ets chiamati e si blocca su questa linea ...UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"MyCell" forIndexPath:indexPath];
con questo errore ...
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'UICollectionView must be initialized with a non-nil layout parameter'
Quando sospendere l'esecuzione su quella linea e controllare la console sembra che ci sia un layout ...
(lldb) po collectionView.collectionViewLayout
(UICollectionViewLayout *) $4 = 0x07180fd0 <UICollectionViewFlowLayout: 0x7180fd0>
la UICollectionView
fa parte l'unica scena nella storyboard. In viewController.m non ci sono altri UICollectionView
s creati con qualsiasi mezzo.
Qualcuno ha qualche idea?
Tale errore viene quando si effettua una nuova visione collezione utilizzando alloc/init o nuova , piuttosto che aggiungere un oggetto di layout quando si inizializza. Stai creando una nuova vista insieme da qualche parte? – jrturton
@jrturton Non che io sappia. UICollectionView fa parte dell'unica scena dello storyboard. In viewController.m non ci sono UICollectionViews creati con qualsiasi mezzo. Ma con ciò detto, ed essendo nuovo per le viste di raccolta, non sono sicuro di dove il layout venga associato alla vista dell'insieme. –