О ключевом слове self - PullRequest
5 голосов
/ 27 мая 2011
+ (void)Foo;
- (void)Foo;

В методе - (void)Foo ключевое слово self означает экземпляр класса.Но в методе + (void)Foo Что означает ключевое слово self?Означает ли это Class?

Ответы [ 2 ]

7 голосов
/ 27 мая 2011

self является одним из двух неявных параметров для каждого метода. Это указатель на объект, и изначально это тот объект, который получил сообщение для вызова метода, который выполняется. Если рассматриваемый метод является методом экземпляра, self будет экземпляром класса, в котором определен метод, или одним из его подклассов. В случае метода класса self будет объектом класса.

5 голосов
/ 27 мая 2011

Да.Следующее работает просто отлично:

+(id)myObjectWithInt:(NSInteger)anInt {
    return [[[self alloc] initWithInt:anInt] autorelease];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...