10 votes

Xcode "-[UIViewController _loadViewFromNibNamed:bundle :] a chargé la nib mais la sortie de la vue n'a pas été définie" erreur

J'utilise Xcode 4 et lorsque je lance mon application, le premier écran ne se charge pas. Il échoue dans les simulateurs et sur un appareil. J'ai cherché des réponses et elles disent toutes de s'assurer que j'ai fait glisser les cercles dans Files Owner vers les vues correctes. Désolé, je ne me souviens pas des noms des éléments, je suis nouveau dans Xcode. J'ai fait glisser les cercles vers la bonne vue et j'ai essayé beaucoup de choses, mais aucune n'a fonctionné. Qu'est ce que je peux faire de mal ?

Voici l'erreur complète :

2012-02-19 12:59:54.655 Ponyboard[271:207]
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', 
reason: '-[UIViewController _loadViewFromNibNamed:bundle:] loaded the "PonyboardViewController" nib but the view outlet was not set.' 

*** Call stack at first throw:  
(  
    0   CoreFoundation                      0x00f095a9 __exceptionPreprocess + 185
    1   libobjc.A.dylib                     0x0105d313 objc_exception_throw + 44
    2   CoreFoundation                      0x00ec1ef8 +[NSException raise:format:arguments:] + 136
    3   CoreFoundation                      0x00ec1e6a +[NSException raise:format:] + 58
    4   UIKit                               0x0020d709 -[UIViewController _loadViewFromNibNamed:bundle:] + 295
    5   UIKit                               0x0020b134 -[UIViewController loadView] + 120
    6   UIKit                               0x0020b00e -[UIViewController view] + 56
    7   UIKit                               0x0017ed42 -[UIWindow addRootViewControllerViewIfPossible] + 51
    8   Ponyboard                           0x00002a87 -[PonyboardAppDelegate application:didFinishLaunchingWithOptions:] + 135
    9   UIKit                               0x0015bc89 -[UIApplication _callInitializationDelegatesForURL:payload:suspended:] + 1163
    10  UIKit                               0x0015dd88 -[UIApplication _runWithURL:payload:launchOrientation:statusBarStyle:statusBarHidden:] + 439
    11  UIKit                               0x00168617 -[UIApplication handleEvent:withNewEvent:] + 1533
    12  UIKit                               0x00160abf -[UIApplication sendEvent:] + 71
    13  UIKit                               0x00165f2e _UIApplicationHandleEvent + 7576
    14  GraphicsServices                    0x031fd992 PurpleEventCallback + 1550
    15  CoreFoundation                      0x00eea944 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 52
    16  CoreFoundation                      0x00e4acf7 __CFRunLoopDoSource1 + 215
    17  CoreFoundation                      0x00e47f83 __CFRunLoopRun + 979
    18  CoreFoundation                      0x00e47840 CFRunLoopRunSpecific + 208
    19  CoreFoundation                      0x00e47761 CFRunLoopRunInMode + 97
    20  UIKit                               0x0015d7d2 -[UIApplication _run] + 623
    21  UIKit                               0x00169c93 UIApplicationMain + 1160
    22  Ponyboard                           0x000029c9 main + 121
    23  Ponyboard                           0x00002945 start + 53
)
terminate called after throwing an instance of 'NSException'

35voto

Nick Points 3061

Êtes-vous sûr d'avoir un UIView (ou une sous-classe) assigné à la propriété "view" de PonyboardViewController ? Faites un clic droit sur "File Owner" dans le panneau gauche du xib pour PonyboardViewController et vérifiez que la sortie "view" est définie.

Si ce n'est pas le cas, définissez une vue !

3voto

Levine Veblen Points 91

J'ai le même problème que vous, alors j'ai corrigé le problème comme ça : voici mon bloc de code :

self.chatsView = [[ChatsView alloc] initWithNibName:@"ChatsView" bundle:nil];

Je clique ChatsView.xib pour trouver le " Propriétaire du fichier "Puis, je passe ma souris sur le symbole " Propriétaire du fichier "et cliquez avec le bouton droit de la souris, ce qui vous donnera quelque chose comme ceci :

La prise "vue" non connectée

vous devez faire glisser l'icône " vue " pour se connecter à la prise Voir qui ont deux sous-vues : Search Bar&Table View dans mon fichier xib.

La prise "vue" connectée

2voto

A.G Points 9897

Votre problème se situe probablement au niveau de la scène XIB ou Stroyborad. Vérifiez si la vue est correctement connectée à la classe.

J'ai essayé, et cela fonctionne bien pour moi après l'avoir fait.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X