Benutzerdefinierte UITableViewCell-Initialisierung wurde nicht aufgerufen

7

Ich habe benutzerdefinierte UiTablleviewCell mit einigen Bildern und Beschriftungen, und ich möchte Label in Tableview Zelle gedreht haben ... so würde ich gerne initWithStyle-Methode bearbeiten, aber es scheint wie es nie aufgerufen wird.

%Vor%

Aber in meinem Log kann ich diese Nachricht nicht sehen. In der Tabellenansicht habe ich die standard cellForRow-Methode

%Vor%

Ich frage mich, wie TableView TableView-Zellen initialisiert, ich kann über einige Workarounds nachdenken, aber ich möchte es sauber haben. Danke.

    
beretis 01.12.2013, 15:11
quelle

2 Antworten

14

Wenn die Zellen aus einer Storyboard- oder NIB-Datei stammen, wird initWithStyle:reuseIdentifier nicht aufgerufen, stattdessen wird initWithCoder: aufgerufen.

Hier ist eine typische Implementierung eines überschriebenen initWithCoder: :

%Vor%

Funktioniert nicht, wenn Sie während der benutzerdefinierten Initialisierung auf IBOutlet zugreifen müssen.

    
Daniel Martín 01.12.2013, 15:23
quelle
8

Sie können auch die Methode watchFromNib in Erwägung ziehen, wenn Sie muss mit IBOutlet sprechen.

  

Diskussion
  Die Nib-Loading-Infrastruktur sendet eine watchFromNib-Nachricht an jedes Objekt, das aus einem Nib-Archiv neu erstellt wurde, jedoch erst, nachdem alle Objekte im Archiv geladen und initialisiert wurden. Wenn ein Objekt eine wakeFromNib-Nachricht empfängt, ist garantiert, dass alle seine Ausgangs- und Aktionsverbindungen bereits eingerichtet sind.

    
Vincent Bernier 01.12.2013 16:12
quelle

Tags und Links