0

重複の可能性:目的 c の静的コンテキストで許可されている理由
のキーワードについてself
self

selfクラスメソッド内のオブジェクトはどのタイプのオブジェクトですか?

例:

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

クラスメソッド内のselfオブジェクトは、クラスの完全に初期化されたオブジェクトですか、それとも重要なメタデータのクラスラッパーオブジェクトのみですか?

よろしくお願いします

4

1 に答える 1

7

selfクラス内のメソッドにはタイプClassがあり、クラスオブジェクトを指します。クラスにメッセージを送信するのと同じように、メッセージを送信できます。

+ (void) classMethod; {
    // the same
    MyClass* a = [[self alloc] init];
    MyClass* b = [[MyClass alloc] init];
}
于 2012-04-15T14:28:25.913 に答える