814 votes

La plume est chargée, mais la prise de vue n'a pas été définie - nouveau pour InterfaceBuilder

J'ai ajouté une nouvelle plume fichier de mon projet, et tout ce que je veux faire est d'afficher sur l'écran pour l'instant.

Cependant, lorsque je clique sur l'icône de barre d'outils qui est censé me prendre le point de vue que j'ai créé, j'ai un NSInternalInconsistencyException avec le message:

Résiliation d'application en raison de uncaught exception 'NSInternalInconsistencyException', la raison: '-[UIViewController _loadViewFromNibNamed:bundle:] chargé de la "..." plume mais la vue de sortie n'a pas été définie.'

J'ai donc ouvert mon fichier nib, et je vois pour la vue qu'il n'y a pas de référencement des points de vente fixés. Cependant, j'essaie de cliquez et faites glisser le cercle pour les "nouvelles de référencement de sortie" pour le Propriétaire du Fichier, mais il ne me laisse pas...que dois-je faire pour obtenir mon point de vue à afficher?

Merci.

1943voto

Josh Justice Points 8472

Les gars, vous êtes de droite, mais comme je suis un nouveau venu, il m'a fallu un peu de temps pour comprendre toutes les étapes pour le faire. Voici ce qui a fonctionné pour moi:

  • Ouvrir le fichier XIB à l'origine des problèmes
  • Cliquez sur le propriétaire du fichier de l'icône sur la barre de gauche (en haut, ressemble à un jaune zone de contour)
  • Si vous ne voyez pas la barre latérale droite, cliquez sur la troisième icône en haut "visualiser" dans votre barre d'outils. Cela fera apparaître la barre latérale droite
  • Dans la barre latérale droite, cliquez sur le troisième onglet (celui qui ressemble un peu comme un journal
  • En vertu de la "Classe Personnalisée" en haut, assurez-vous que la Classe est le nom de la ViewController qui devrait correspondre à ce point de vue. Si non, indiquez l'
  • Dans la barre latérale droite, cliquez sur le dernier onglet (celui qui ressemble à un cercle avec une flèche
  • Vous devriez voir "points de vente" avec "vue". Faites glisser le cercle à côté de la "vue" de l'icône sur la barre de gauche (en bas, ressemble à un carré blanc avec une épaisseur de contour gris
  • Enregistrer le xib et re-run

77voto

rohit mandiwal Points 4883

Je peux généralement le réparer en refaisant la connexion entre le propriétaire du fichier et la vue. Contrôle-faites glisser le propriétaire du fichier vers votre vue (dans IB) et sélectionnez l'affichage dans le menu contextuel.

65voto

John Points 2354

L'identité de vue - Identité de classe n'a pas été définie. Après l'avoir défini sur la classe appropriée, le problème a été résolu.

33voto

Shehbaz Khan Points 539

Êtes-vous sûr de qu'avoir une propriété UIView (ou sous-classe) assignés à la « vue » d’yourViewController ? Faites un clic droit sur « Propriétaire du fichier » dans le volet gauche de la xib pour yourViewController et vérifiez que la sortie de « voir » est définie. Si ce n’est pas le cas, réglez-le sur une vue ! ce sera certainement résoudre le problème

16voto

Nathan Points 1975

J'ai eu le même problème avec XCode 4.6.3. J'avais commencé avec un couple de fichiers nommés MySettingsView.h et .m mais supprimé en faveur d' MySettingsViewController.h, mais malgré l'essai de la plupart des conseils mentionnés ici, il a toujours gardé erroring avec,

2013-07-05 11:48:17.205 MyApp[39024:c07] * Résiliation d'application en raison de uncaught exception 'NSInternalInconsistencyException', la raison: '-[UIViewController _loadViewFromNibNamed:bundle:] chargé de la "MySettingsView" plume mais la vue de sortie n'a pas été définie.'

Il était de toute évidence encore "confus", en essayant de charger MySettingsView.xib au lieu de MySettingsView Contrôleur.xib. Peut-être que son "faire ce que je veux dire" la logique est trop de fantaisie.

J'ai donc contourné le problème en coder en dur la PLUME/XIB nom dans MySettingsViewController.m:

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:@"MySettingsViewController" bundle:nibBundleOrNil];

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