dequeueReusableCellWithReuseIdentifier crash 'n'a pas pu extraire une vue de type "UICollectionElementKindCell"
Je suis arriver la suite de crash:
Résiliation d'application en raison de uncaught exception 'NSInternalInconsistencyException', la raison: "ne pourrait pas retirer une vue de type: UICollectionElementKindCell avec un identificateur de Cellule doit s'inscrire une plume ou une classe pour l'identifiant, ou de connecter un prototype de cellule dans un storyboard'
J'ai la suite dans ma ViewDidLoad:
[self.collectionView registerClass:[UICollectionViewCell class]
forCellWithReuseIdentifier:@"Cell"];
Et la ligne qui plante est dans le cellForItemAtIndexPath rappel:
UICollectionViewCell *cell = [collectionView
dequeueReusableCellWithReuseIdentifier:@"Cell" forIndexPath:indexPath];
J'ai cherché pendant des heures mais ne peut pas trouver de solution. J'ai essayé de dérivation de l'UICollectionViewCell mais obtenir la même erreur.
Avec des points d'arrêt, j'ai déterminé que la registerClass ligne est en cours d'exécution avant la dequeueReusableCellWithReuseIdentifier de rappel est exécutée.
source d'informationauteur Ken
Vous devez vous connecter pour publier un commentaire.
J'ai eu ce problème parce que j'ai été appeler registerClass avant j'ai été l'instanciation de ma table, objet de vue. Code de travail :
Aussi, n'oubliez pas la différence entre une cellule (registre... forCellWithReuseIdentifier) et complémentaire (vue de registre... forSupplementaryViewOfKind).
J'ai été dequeing correctement avec l'complémentaire (en-tête/pied de page), mais j'ai accidentellement enregistré comme un type de cellule. Duh.
Si vous éprouvez ceci, dans
UICollectionViewController
ouUITableViewController
faire comme ce que rob mayoff dit et assurez-vous que votreCollection View
ouTable View
est relié à la propriété dans votre Storyboard.Une autre erreur commune est dans la table de montage que vous avez oublié de donner le droit
CollectionID
ouCellID
.Une fois quand je travaillais sur la vue de collection cellules, j'ai écrit:
En regardant bien, vous verrez un espace supplémentaire à la fin de la chaîne de l'identificateur. Après s'être rendu compte de mon erreur, j'espère que ce sera utile à quelqu'un.
Référence:
pouvait pas de file d'attente d'une vue de type: UICollectionElementKindCell avec identifiant