1279 Stimmen

Xcode - Wie behebt man den 'NSUnknownKeyException'-Fehler? Grund: ... Diese Klasse ist nicht schlüsselwertcodierfähig für den Schlüssel X"?

Ich versuche, ein UILabel mit einem IBOutlet zu verknüpfen, das in meiner Klasse erstellt wurde.

Meine Anwendung stürzt mit folgendem Fehler ab.

Was bedeutet das?

Wie kann ich das beheben?

*** App-Beendigung aufgrund von unbehandelter Ausnahme 'NSUnknownKeyException', Grund: '[ setValue:forUndefinedKey:]: Diese Klasse ist nicht schlüsselwertcodierfähig für den Schlüssel XXX.'

2voto

sysuser Punkte 1022

Dies passiert mir auch, wenn ein UI-Label oder ein anderes UI-Element in der ViewController-Klasse von zwei Variablen referenziert wird und ich eine der Variablen lösche.

2voto

Bogdan Kobylynskyi Punkte 1070

Ich habe dieses Problem gelöst, indem ich 2 Dinge gemacht habe:

  1. Klassenreferenz der Ansicht korrigiert:

  1. Alle Outlets erneut importiert:

2voto

IsPha Punkte 381

Sie müssen möglicherweise den Auslass löschen, ihn neu erstellen, indem Sie von IB nach .h-Datei zeichnen.

2voto

Apple Pirate Punkte 69

Ich habe die Eigenschaft aus der Headerdatei gelöscht. Ich konnte keine Referenz dazu finden, aber der Debug-Fehler verwies immer noch darauf. Ich habe festgestellt, dass die Nib-Datei noch eine Referenz dazu hatte. Ich habe den Block gelöscht, der darauf verwies, und alles war behoben.

Im Projekt-Navigator,

Suchen Sie die Nib (xib) Datei. Klicken Sie mit der rechten Maustaste und wählen Sie Quelle anzeigen. Ich habe den folgenden vollständigen Abschnitt gelöscht

        DeleteLabel

    20

2voto

Jyotsna Punkte 3721

Ich hatte das gleiche Problem. Dies ist bei meinem Projekt passiert, weil ich meinen Produktname geändert habe, aber im Interface Builder hatte ich den alten Namen als Modul, was zu einem Absturz führte. Stellen Sie also sicher, dass Sie überprüfen, ob auch der Name aller xib-Module geändert wurde oder nicht.

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