Der Fehler „Diese Klasse ist für den Schlüssel nicht mit der Codierung von Schlüsselwerten kompatibel“ ist ein häufiges Problem für iOS-Entwickler, das zum Absturz einer App führt. Lesen Sie weiter, um die Lösung des Problems zu finden.
Dieser Fehler ist oft das Ergebnis einer fehlenden Verbindung zwischen einem Objekt im Storyboard und einem IBOutlet in der Codedatei. Ein häufiges Szenario, das dies verursacht, ist, wenn Sie versehentlich ein nicht notwendiges IBOutlet im Code erstellen und die Outlet-Deklaration löschen, ohne die Verbindung zu dem Objekt im Storyboard zu entfernen. Bei kleinen Projekten ist das Auffinden und Löschen der problematischen Verbindung einfach. Wenn Sie jedoch mehrere Objekte in einem Storyboard haben, kann das Finden des richtigen Objekts viel Zeit in Anspruch nehmen.
Wenn Ihre App beim Start abstürzt, wird die folgende Meldung im Debug-Bereich angezeigt. Wenn der Stack-Trace lang ist, müssen Sie ganz nach oben scrollen, um ihn anzuzeigen.
Diese Klasse ist für den Schlüssel nicht mit der Schlüsselwertcodierung kompatibel
So können Sie das problematische Objekt im Storyboard schnell finden, ohne manuell alle Elemente durchgehen zu müssen:
1. Kopieren Sie den Text direkt nach der generischen Fehlermeldung. Der Text ist eigentlich der IBOutlet-Name, den Sie aus der Codedatei gelöscht haben, und ist für Ihr Projekt eindeutig.
Fix dieser Klasse entspricht nicht der Schlüsselwertcodierung für das Schlüsselproblem
2. Öffnen Sie das Navigatorfenster und wechseln Sie zu Registerkarte "Suchen". Fügen Sie auf dieser Registerkarte den Text in das Suchfeld ein und drücken Sie Eingeben.
3. Wenn die Ergebnisse angezeigt werden, suchen Sie denjenigen in der Storyboard-Datei, der mit dem Outlet-Text beginnt. Nun haben Sie die Wurzel des Problems erfolgreich identifiziert.
Xcode 6 sucht nach problematischem Ausgang
4. Um das Problem zu beheben, tippen Sie einfach auf das Ergebnis, um den Abschnitt Verbindungen im Bedienfeld Dienstprogramme zu öffnen. Suchen Sie den Auslass mit dem Ausrufezeichen am Ende und klicken Sie auf X-Taste um die Verbindung zu entfernen.
Entfernen Sie den problematischen Ausgang in Xcode
5. Führen Sie das Projekt erneut aus, um sicherzustellen, dass alles wie erwartet funktioniert.