non valide plume enregistré pour identifiant (CELLNAME) - plume doit contenir exactement un haut niveau de l'objet qui doit être une instance de UITableViewCell
Désolé pour le titre, mais je voulais qu'il soit clairement visible à partir d'une recherche sur google.
Aussi, ce qui diffère de beaucoup d'autres questions similaires sur ici que sa ne précise pas 'null' identifier, mais qui existe réellement.
Essentiellement le problème se produit lorsque vous essayez de naviguer à l'aide de l'une des cellules dans une table view controller enchaîner un autre point de vue (Quel que soit ce point de vue peut-être).
La plupart des gens auraient rencontré ce problème après gunning par le biais d'apple tutoriel sur la "to-Do List" et attend les cellules de fonctionner dans le même mouvement indépendamment de leur finalité.
Ce problème est probablement simpliste, pour la plupart, mais pour un débutant, il est assez dur, il m'a fallu environ 3 heures.
Fondamentalement, l'erreur est:
invalid nib registered for identifier (prototypeCell) - nib must contain exactly one top level object which must be a UITableViewCell instance
Où "prototypeCell" serait quelque soit votre cellule est appelée. C'est une exception qui se produit immédiatement que l'application est lancée.
- J'ai couru à travers le même problème. J'ai été en mesure de le résoudre par l'ajout d'une vue à la cellule -> Elle a eu lieu parce que la cellule n'a pas toutes les sous-vue.
Vous devez vous connecter pour publier un commentaire.
J'ai eu le même problème que ci-dessus mais je n'étais pas à l'aide de storyboards et le problème vient d'apparaître sur le bleu.
J'ai trouvé que la solution était dans la tableview cellule de fichier. J'avais ajouté un uibutton, mais il avait été ajouté à l'extérieur des limites de la cellule par erreur. Cela voulait dire que c'était presque comme une vue de l'uiview.
Une fois que je l'ai trouvé et supprimé cette vue, le problème a disparu immédiatement.
Si vous avez d'avoir cette erreur, vérifiez la uitableviewcell pour plus de vue et les objets ajoutés par erreur
La réponse de simon_smiley m'a indiqué la bonne direction, mais un peu plus d'essai-et-erreur est nécessaire menant à la solution suivante:
Le problème n'est pas seulement se produire pour d'autres haut-niveau UIView objets, mais aussi pour geste modules de reconnaissance. Donc, assurez-vous de ne pas utiliser n'importe quel geste, des modules de reconnaissance de votre faute XIB fichier, vous pouvez les configurer dans le code à la place.
Par exemple, vous pouvez le faire dans
awakeFromNib
comme l'a noté vahotm dans les réponses acceptées commentaires.J'ai eu le même problème! Et dans mon cas de cellule personnalisé a été la sous-classe UIView par erreur à la place de UITableViewCell. Remplacer UIView avec UITableViewCell résolu le problème!
Même problème parce que j'ai faites glisser et déposez un
UITapGestureRecognizer
sur la sous-vues deContentView
. Suffit de le retirer.Le problème, c'est qu'il y a plusieurs cellules dans votre storyboard qui ont le même nom. Comme pour une table unique vue, il y a plusieurs cellules qui ont le même identifiant. Dans mon cas, j'ai eu trois cellules qui ont tous appelé "prototypeCell'.
La solution est en fait assez facile. Pour chaque cellule, nom d'un nom simple avec le nombre de cellules à la fin. Ce nombre de cellules doit correspondre à la indexPath.ligne plus tard, donc, fondamentalement, commencer à partir de 0 et ultérieures.
Par Exemple:
Ensuite, allez dans la catégorie des thats responsable pour le contrôleur, et de trouver la fonction
Puis remplacez le code:
Avec le code:
Tout le reste peut rester la même. Ce code fondamentalement obtient le numéro de ligne, il ajoute à l'identificateur de la base, la obtient la cellule de la table à l'aide de cette chaîne. Donc, si sa réponse à un autre numéro de ligne, le retour d'une autre cellule.
Juste pour clarifier, l'ensemble de ma fonction pour le problème est comme suit:
Bonne Chance!
Aussi, c'est ma première Réponse/Question combo, je n'ai vraiment aucune idée de comment s'en approche, donc, si j'ai fait quelque chose de mal, dites-le moi et/ou de la modifier.
Merci!
Je vais mettre en place mon stupide solution pour le bien de googlers...
Cela a été mon erreur stupide - quand j'ai créé une nouvelle cellule personnalisé pour ma table, vue, je suis allé dans le répertoire de niveau supérieur de mon projet -> ajouter un nouveau fichier ->, et créé un Fichier Vide de type en vertu de la OS X l'article plutôt que de le iOS section.
Espérons-le, la plupart des gens ont autre problème décrit ci-dessus, car c'est moins gênant 😛
Parfois vous à l'aide de storyboard et ont collectionView à l'intérieur et collectionView ainsi. Après que vous décidez à la simplification de votre Storyboard et de diviser la cellule dans une autre plume. Vous créez vide plume,
Ctrl+C
de storyboard ->Ctrl+V
en plume.Tout semble parfait, mais vous aurez Résiliation d'application en raison de uncaught exception 'NSInternalInconsistencyException', la raison: 'invalid plume enregistré pour identifiant (PrettyCollectionViewCell) - plume doit contenir exactement un haut niveau de l'objet qui doit être une UICollectionReusableView instance"
Ansver: ne fais pas cela. Après je nettoyer plume et ajouter tous les éléments que j'ai en Storyboard - il fixe.
Semble que le Bug de xCode IB - Version 7.3.1 (7D1014)
Dans mon cas,
J'ai ajouté
UITableViewHeaderFooterView
sous-classe etXIB
dans cible différente au lieu de la cible réelle.Assurez-vous qu'il est en cours d'exécution cible.
Cette erreur est due principalement à quelques vues supplémentaires qui sont ajoutés par erreur. Jetez un oeil dans le .xib fichier et vérifier très indésirable vue ajouté par erreur. Que supprimer et cela fonctionnera parfaitement. Vous pouvez vérifier les vues non désirées par c'est à quoi il ressemble
J'ai résolu ce problème en définissant le nom de la classe dans interface builder pour correspondre à la cellule de réutilisation de l'identificateur (pour la classe) dans interface builder.
Note: je ne dis pas la classe et de l'identificateur d'être le même. Je suis en train de dire qu'ils ont besoin de lier la vue correspondante et la sauvegarde de modèle.
J'ai eu ce problème, a finalement découvert que j'avais créé UITableViewCell sous-classe au lieu de CollectionViewCell sous-classe. c'était le soir, et j'étais fatigué,lol. Il fixe en la mng.
J'ai traîné vue de collection de cellules à partir d'un autre projet, et a obtenu ce.
'invalide plume enregistré pour (identifiant cellulaire) - plume doit contenir exactement un haut niveau de l'objet qui doit être une UICollectionReusableView instance" .
Ensuite, j'ai comparé l'affichage de la collection de la cellule de créé mon moi et trouvé réutilisables vue manque. Espérons que cette aide.
C'était une bête erreur de mon côté et j'ai eu deux tableview cellules qui a provoqué cette erreur. Supprimé l'autre "à la vue de la table de la cellule", qui fixe le problème.
Dans mon cas, j'avais ImageView à l'intérieur de la xib ajouté par erreur. Enlevé et tout fonctionnait parfaitement.