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