2016-04-01 5 views
0

Я обращаюсь к методу экземпляра в методе класса, используя self в singleton class, он показывает ошибку, но если я попытаюсь обратиться к методу экземпляра с параметром, используя self, то он отлично работает, поэтому в основном я хочу знать причину, почему я не удалось получить доступ к этому.Как получить доступ к методу экземпляра, используя «self» в одноэлементном классе?

как

-(void)someMethodA:(NSString *)paramA withParamB:(NSString *)paramB; 

-(void)someMethodB; 

если я пытаюсь использовать «someMethodA» с самим собой, то он отлично работает, но доступ к «someMethodB» используя сам он дает ошибку

+(void)someMethod 

{ 

    [self someMethodA:@"string" withParamB:@"string"]; works fine 

    [self someMethodB]; gives error 

} 
+0

Что говорит об ошибке? – Gandalf

+0

«Неизвестный метод класса для селектора» В основном я использую методы внутри метода класса, то есть метод, начинающийся с «+» –

+0

Вы не можете использовать 'self' в методе класса для обращения к методу экземпляра -' self' doesn В этом случае не ссылайтесь на экземпляр. Вы уверены, что 'someMethodA' также не определен как метод класса (+)? – Paulw11

ответ

0

методы Instance (методы, которые начиная с «-») могут быть доступны только другими методами экземпляра, а методы класса (методы, начинающиеся с «+») могут быть доступны из любого места, используя [CLASS_NAME methodName]

Поэтому, если вам нужно получить доступ к someMethodB из вашего метода класса, просто обновите его до класса следующим образом:

+(void)someMethodB; 

 Смежные вопросы

  • Нет связанных вопросов^_^