Erreur : Terminating app due to uncaught exception
Pierre
Membre
Bonjour à tous,
J'ai l'erreur suivante :
Je pense qu'elle est lié à cette ligne :
J'ai bien un fichier "ChallengeView.xib mais je doit sûrement avoir mal implémenté quelque chose.
Est-ce que quelqu'un à une idée de ce que veut dire l'erreur et de là ou je pourrais trouver plus d'informations pour la résoudre ?
Merci d'avance,
Pierre
J'ai l'erreur suivante :
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '-[UIViewController _loadViewFromNibNamed:bundle:] loaded the "ChallengeView" nib but the view outlet was not set.'
Je pense qu'elle est lié à cette ligne :
<br />ChallengeViewController *challengeViewController = [[ChallengeViewController alloc] initWithNibName:@"ChallengeView" bundle:nil];<br />
J'ai bien un fichier "ChallengeView.xib mais je doit sûrement avoir mal implémenté quelque chose.
Est-ce que quelqu'un à une idée de ce que veut dire l'erreur et de là ou je pourrais trouver plus d'informations pour la résoudre ?
Merci d'avance,
Pierre
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Le message indique que tu as bien chargé le XIB file donc il a bien trouvé le fichier source .xib par contre tu as un outlet qui n'est pas définie correctement. As-tu bien créé les fichiers ChallengeView.h et ChallengeView.m et associée ta classe ChallengeView à ton Xib file ?
Dans ChallenveView.xib > Files Owner > Outlets : la ligne View vers la vue de mon Interface Builder.
@lgriffie : oui mes fichiers existent bien et j'ai relié mon XIB à ma classe.
Mon erreur maintenant est :
Si je comprend bien il y a un problème avec un UILabel. Dans mon XIB pour le moment j'en ai deux. Un qui est remplis avec un texte statique et un second qui est remplis avec la contenu d'une variable.
Comment interpréter l'erreur ?
Merci encore pour votre aide,
Pierre
La il faudrait avoir les sources pour savoir ce qui merde...
Regarde si tu n'as pas relier tes UILabel à ce qu'il ne faut pas ou s'il n'y a pas d'erreur dans le UIViewController qui va avec
J'ai réussi à faire que ça marche (sur conseil d'un développeur avec qui je suis en contact) en renommant ma variable "title" en "titleLabel".
Dans ChallengeViewController.h j'avais :
J'ai maintenant :
J'ai adapté ChallengeViewController.m pour que la variable "title" s'appelle "titleLabel", j'ai aussi modifié le fichier XIB et maintenant ça marche. Mais je n'ai pas compris pourquoi.
Est-ce que l'un d'entre vous aurais une idée ? "title" est un mot réservé sur système ?
En tout cas un grand merci pour vos pistes à yoann, Eaglelouk et lgriffie.
Problème résolue pour cette fois.
Pierre
De toute façon, même si ça n'avait pas été le cas, il faut prendre l'habitude de réutiliser une portion du nom de la classe dans la ivar.
Par exemple, si tu dois déclarer une ivar UIActivityIndicator, il vaut mieux la nommer "UIActivityIndicator *webserviceActivityIndicator;"
C'est une habitude que j'ai pris, après je ne sais pas si tout le monde fait comme ça, mais je trouve qu'on s'en sort mieux par la suite !
Dommage que XCode nous signale pas tout simplement que c'est un mot clef réservé du système.
Je ferais attention à l'avenir.
Y as t'il une liste de mot clef à éviter ?
Pierre
Pierre
Au moins j'aurais appris à faire attention au nommage de mes variables.
@tous : merci pour vos retours d'expérience et bonnes pratiques, je vais m'en inspirer pour essayer d'éviter ce genre de désagréments.
Pierre
Pierre