Как мне вызвать метод из экземпляра класса? - PullRequest
2 голосов
/ 10 января 2009
-(NSDictionary *)properties;
+(NSDictionary *)ClassProperties;

Теперь, как я могу вызвать ClassProperties из подклассов?

-(NSDictionary *)properties {
    return [? ClassProperties];
}

Дело в том, что ClassProperties получает список свойств в классе, поэтому я не могу вызвать определение базового класса.

Ответы [ 2 ]

5 голосов
/ 10 января 2009

В соответствии с ответом Марка, вы можете более широко вызывать метод с помощью

[[self class] ClassProperties]

Фактически, если ваш базовый класс и все подклассы реализуют + (NSDictionary *)ClassProperties, то ваш базовый класс может сделать это

- (NSDictionary *)properties {
    return [[self class] ClassProperties];
}

и тогда ни одному из ваших подклассов не нужно будет знать о - (NSDictionary *)properties. Правильный метод класса будет вызван на основе self.

1 голос
/ 10 января 2009

Вы можете просто использовать имя класса подкласса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...