820 Stimmen

Geladene Feder, aber der Ausgang "Ansicht" wurde nicht gesetzt

Ich habe eine neue Nib-Datei zu meinem Projekt hinzugefügt und versucht, sie zu laden.

Wenn ich jedoch auf das Symbol in der Symbolleiste klicke, das mich zu der von mir erstellten Ansicht führen soll, erhalte ich eine NSInternalInconsistencyException mit der Nachricht:

Beenden der Anwendung aufgrund einer nicht abgefangenen Ausnahme NSInternalInconsistencyException', Grund: '-[UIViewController _loadViewFromNibNamed:bundle:] hat die "..." Nib geladen, aber der View-Outlet wurde nicht gesetzt.'

Ich habe also meine Nib-Datei geöffnet und sehe für die Ansicht, dass keine referenzierenden Ausgänge festgelegt sind. Ich versuche jedoch, den Kreis für den "neuen referenzierenden Auslass" auf den Dateibesitzer zu klicken und zu ziehen, aber er lässt mich nicht... was muss ich tun, damit meine Ansicht angezeigt wird?

1957voto

Josh Justice Punkte 20691

Bei mir hat das folgendermaßen funktioniert:

  • Öffnen Sie die XIB-Datei, die Probleme verursacht
  • Klicken Sie auf das Symbol des Dateieigentümers in der linken Leiste (oben, sieht aus wie ein gelb umrandeter Kasten)
  • Wenn Sie die rechte Seitenleiste nicht sehen, klicken Sie auf das dritte Symbol über "Ansicht" in Ihrer Symbolleiste. Dadurch wird die rechte Seitenleiste angezeigt
  • Klicken Sie in der rechten Seitenleiste auf die vierte Registerkarte - diejenige, die ein wenig wie eine Zeitung aussieht
  • Vergewissern Sie sich oben unter "Custom Class", dass Class der Name des ViewControllers ist, der dieser Ansicht entsprechen soll. Wenn nicht, geben Sie ihn ein
  • Klicken Sie in der rechten Seitenleiste auf die letzte Registerkarte - diejenige, die wie ein Kreis mit einem Pfeil aussieht
  • Sie sollten "Ausgänge" mit "Ansicht" darunter sehen. Ziehen Sie den Kreis daneben auf das Symbol "Ansicht" in der linken Leiste (unten, sieht aus wie ein weißes Quadrat mit einem dicken grauen Umriss
  • Speichern Sie die xib und führen Sie sie erneut aus

268voto

Dies ist der Vorschlag von Josh Justice, allerdings in grafischer Form (die Bilder stammen von mir):

  1. Dateieigentümer auswählen
  2. Wählen Sie auf der rechten Seite benutzerdefinierte Klasse.
  3. Geben Sie den Namen der benutzerdefinierten Klasse ein

enter image description here

  1. Wählen Sie auf der rechten Seite die Option Ausgänge
  2. Ziehen Sie den Ausgang der Ansicht auf die Ansichtskomponente

enter image description here

Schließlich wird der View Controller mit dem Rolling Code instanziiert:

        PTFilterUserVC *aFilterUserVC = [[PTFilterUserVC alloc] initWithNibName:@"FilterVC" bundle:nil];

        //OPTIONAL.This is how 'I' am interested in present the view controller.
        [self.navigationController pushViewController:aFilterUserVC animated:YES];

78voto

Rohit Mandiwal Punkte 9848

Im Allgemeinen kann ich das Problem beheben, indem ich die Verbindung zwischen dem Dateieigentümer und der Ansicht wiederherstelle. Ziehen Sie bei gedrückter Strg-Taste vom Dateieigentümer zu Ihrer Ansicht (in IB) und wählen Sie Ansicht aus dem Popup-Menü.

66voto

John Punkte 10559

Die Ansichtsidentität - Klassenidentität wurde nicht festgelegt. Nachdem sie auf die entsprechende Klasse gesetzt wurde, war das Problem behoben.

33voto

Shehbaz Khan Punkte 1802

Sind Sie sicher, dass Sie der Eigenschaft "view" IhresViewControllers eine UIView (oder Unterklasse) zugewiesen haben?

Klicken Sie mit der rechten Maustaste auf "File Owner" im linken Bereich der xib für IhrenViewController und überprüfen Sie, ob der Ausgang "view" gesetzt ist. Wenn nicht, setzen Sie ihn auf eine Ansicht!

dies wird das Problem definitiv beheben

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X