5
+ (void)Foo;
- (void)Foo;
在方法- (void)Foo
中,關鍵字self
表示該類的一個實例。 但是在方法中,+ (void)Foo
,關鍵字self
是什麼意思?這是否意味着Class
?關於`self`的關鍵字
+ (void)Foo;
- (void)Foo;
在方法- (void)Foo
中,關鍵字self
表示該類的一個實例。 但是在方法中,+ (void)Foo
,關鍵字self
是什麼意思?這是否意味着Class
?關於`self`的關鍵字
self
是每個方法的兩個隱式參數之一。它是一個指向對象的指針,最初它是接收消息的任何對象來調用正在執行的方法。當所討論的方法是一個實例方法時,self
將成爲定義方法的類的一個實例,或者它的一個子類。在類方法的情況下,self
將是類對象。
是的。下面的工作很好:
+(id)myObjectWithInt:(NSInteger)anInt {
return [[[self alloc] initWithInt:anInt] autorelease];
}
這也正是爲什麼Objective-C的類方法可以被子類化,而Java的不能...... – bbum 2011-05-27 07:25:39