+ (void)Foo;
- (void)Foo;
在方法- (void)Foo
中,关键字self
表示该类的实例。
但在方法+ (void)Foo
中,关键字self
的含义是什么?这是Class
吗?
答案 0 :(得分:7)
self
是每个方法的两个隐式参数之一。它是一个指向对象的指针,最初它是接收消息的任何对象来调用正在执行的方法。当有问题的方法是实例方法时,self
将是定义方法的类的实例,或者是其子类之一。对于类方法,self
将是类对象。
答案 1 :(得分:5)
是。以下工作正常:
+(id)myObjectWithInt:(NSInteger)anInt {
return [[[self alloc] initWithInt:anInt] autorelease];
}