Wie soll ich Unterklasse NSWindow Initialisierung in Objective-C

8

Ich möchte eine Unterklasse von NSWindow erstellen. Diese Unterklasse muss einige Elementvariablen initialisieren, bevor sie verwendet werden. Was ist der beste Weg, um die Initialisierung in objective c zu erfassen? Was ich finde, ist, dass init selten so aufgerufen wird, dass ich das tun kann. NSWindow hat ein paar Initialisierungsvektoren, die ich überschreiben müsste. Muss ich jeden von ihnen überschreiben?

    
shaheen 24.11.2010, 20:16
quelle

2 Antworten

8

Jede Klasse sollte einen sogenannten designierten Initialisierer haben. Dies ist die Init-Methode, die alle anderen Init-Methoden aufrufen. Das ist derjenige, der überschrieben wird. Die Dokumentation sagt Ihnen normalerweise, welcher der Initialisierer ist. Im Fall von NSWindow ist es:

initWithContentRect:styleMask:backing:defer:

  

Diese Methode ist der initialisierte Initiator für die NSWindow-Klasse.

Zusätzlich zum angegebenen Initialisierer sollten Sie auch -initWithCoder: überschreiben, wenn die von Ihnen abgeleitete Klasse das Protokoll NSCoding implementiert. -initWithCoder: ist der Initialisierer, der verwendet wird, wenn eine Instanz aus einem Archiv (z. B. einer NIB-Datei) instanziiert wird.

Siehe The Designated Initialiser in Apples "The Objective -C Programmiersprache ".

    
Ole Begemann 24.11.2010, 20:36
quelle
2

Haben Sie versucht, die bestimmte initialiser zwingende

%Vor%

Dokumentation

    
Abizern 24.11.2010 20:35
quelle

Tags und Links