Das Laden von UIView von xib stürzt ab, wenn versucht wird, auf IBOutlet zuzugreifen

8

Ich habe eine xib-Datei mit einem kleinen UIView darauf, die wiederum einige Labels enthält. Jetzt versuche ich, das UIView in ein existierendes UIViewController zu laden und einen der Label-Texte zu ändern. Der Grund, warum ich das so machen möchte, ist, dass UIView mit verschiedenen Label-Texten wiederverwendet wird. Daher dachte ich, eine benutzerdefinierte Klasse zu erstellen und sie von einem Xib zu laden wäre der beste Weg.

Ich habe verschiedene Möglichkeiten versucht, es zu laden, und ich habe es erfolgreich auf meinem Viewcontroller angezeigt. Das Problem ist, sobald ich versuche, eine IBOutlet im Interface Builder zu verknüpfen und darauf zuzugreifen, stürzt meine App ab.

Ich habe eine benutzerdefinierte UIView -Klasse erstellt, die wie folgt aussieht:

CoverPanel.h

%Vor%

CoverPanel.m

%Vor%

In CoverPanel.xib habe ich UILabel mit dem Headline-Outlet verknüpft. In meinem Viewcontroller, hier ist, wie ich die CoverPanel Instanz erstellen, und hier stürzt es ab:

%Vor%

So weit, so gut. Es zeigt das UIView genau so an, wie es in der .xib angeordnet ist. Aber sobald ich versuche das headline.text so zu ändern:

%Vor%

es stürzt mit diesem Fehler ab: Beenden der App aufgrund der nicht abgefangenen Ausnahme "NSInvalidArgumentException", Grund: "- [UIView-Überschrift]: Unbekannter Selektor, der an Instanz 0x5c22b00 gesendet wurde"

Es mag etwas Kleines sein, das ich übersehe, aber es hat mich bisher stundenlang wahnsinnig gemacht. Hat jemand eine Idee?

    
indivisueel 18.05.2011, 02:22
quelle

1 Antwort

20

Sie haben die Klasse Ihrer benutzerdefinierten Ansicht der Ansicht in Ihrer xib zugewiesen. Du brauchst das nicht zu tun, denn das, was du zurückbekommst, war die Ansicht von der Xib und du hast gerade dein CoverPanel durchgesickert. Ersetzen Sie einfach Ihren Initialisierer:

%Vor%     
Jason Coco 18.05.2011, 02:30
quelle

Tags und Links