2012-04-15 7 views
0

Mögliche Duplizieren:
About the keyword of self
Why is self allowed in static context in objective cWas ist "Selbst" in einem Class

welche Art von Objekt ist das self Objekt in einer Klassenmethode?

Beispiel:

+ (void)test { 
NSLog(@"class self: %@", self); 
} 

Ist das self Objekt in einer Klassenmethode ein vollständig initialisiert Objekt der Klasse oder nur eine Klasse Wrapper-Objekt für die wichtigen Meta-Daten?

Mit freundlichen Grüßen

+0

thx für den Link – CarlJ

Antwort

7

self in Klassenmethode hat Class und verweist auf das Klassenobjekt eingeben. Sie können Nachrichten an sie senden genauso wie Sie sie in die Klasse senden:

+ (void) classMethod; { 
    // the same 
    MyClass* a = [[self alloc] init]; 
    MyClass* b = [[MyClass alloc] init]; 
} 
+0

gibt es einen Apple-Docu für das Klassenobjekt? – CarlJ

+0

Ja, wenn Sie im Organizer-Fenster nachsehen, führt dies zur Definition 'typedef struct objc_class * Class;'. (Also, vielleicht nicht so sehr ein Objekt, in dem Sie 'Class *' nicht verwenden.) –

+0

ok thx, es ist eine gute alte Struktur. Mit vielen Infos für den Namen, Ivars, etc .. – CarlJ

Verwandte Themen