Benutzerdefinierte UITableViewCell-Unterklasse: Diese Klasse ist kein schlüsselwertkodierkonformes [duplicate]

8

Ich habe fast alle verwandten Fragen hier im stackoverflow untersucht und alle möglichen Lösungen ausprobiert, aber ich kann immer noch nicht herausfinden, warum ich diesen Fehler bekomme:

%Vor%

Ich versuche, eine benutzerdefinierte Tabellenansicht Zelle mit dem Nib-Namen zu laden: @ "CustomCell". Seine Klasse ist "CustomCell" (der gleiche Klassenname wie der Name der Nib) zugeordnet. Der Besitzer der Datei wird ebenfalls auf die Klasse gesetzt, die diese Zellen lädt - "ProductsTableViewControllerWithSearch". Alle Ausgänge in der Spitze sind mit denen in CustomCell.m

verbunden

Hier ist mein Code:

%Vor%

Kann mir bitte jemand helfen? Ich arbeite seit mehr als 4 Stunden daran. Vielen Dank!

PS: Ich benutze ARC und entwickle für iOS 5.

Hier ist mein CustomCell.h.

%Vor%

Es gibt nichts in meiner CustomCell.m

    
acecapades 15.03.2012, 03:39
quelle

4 Antworten

10

Im Interface Builder müssen Sie die Klasse der Zelle auf CustomCell setzen und CustomCell muss eine Eigenschaft title haben.

  

this class is not key value coding-compliant for the key …

Bedeutet normalerweise, dass eine Eigenschaft in einer Klasse nicht gefunden wird und der Interface Builder versucht, diese Eigenschaft zu verwenden, was zu einem Absturz führt.

    
JoePasq 15.03.2012, 03:48
quelle
13

Dieser Fehler tritt auf, wenn Sie Objekte verknüpfen, die nicht zu dieser Ansicht gehören.

In diesem Fall befindet sich die Lösung in Interface Builder

  1. Ändern Sie zuerst die Identitätsklasse der Datei in NSObject.
  2. Verlinke jedes IBOutlet im Eigentümer der Datei.
  3. Ändern Sie die Identitätsklasse Ihrer benutzerdefinierten NIBs in den Namen der CustomTableViewCell-Klasse.
  4. Verknüpfen Sie hier Ihr IBOutlet.

Das ist es.

    
Black Tiger 06.08.2012 11:34
quelle
5

Ich nehme an, dass Sie diesen Fehler erhalten, wenn Ihre Zelle zur Laufzeit aus der NIB geladen wird. (Wenn es stattdessen in einer Zeile von Code bricht Sie haben geschrieben, um Gottes Willen, löschen Sie diese Codezeile!)

Gehen Sie in die XIB-Ansicht Ihrer benutzerdefinierten Zelle, klicken Sie bei gedrückter Strg-Taste auf "Besitzer der Datei" und heben Sie die Verbindung auf, die Sie dort haben, die "Titel" genannt wird. Wenn Sie sich verrückt fühlen, heben Sie die Verbindung auf und verknüpfen Sie das gewünschte Material erneut. Sehen Sie, ob das aufklärt. Wenn nicht, werde ich für ein paar Stunden hier sein.

    
QED 15.03.2012 04:00
quelle
0

Für meinen Fall von XCode 6.0.1 reinige ich das Projekt und alles läuft reibungslos

    
Lanston 20.10.2014 06:21
quelle