Почему xcode иногда находит методы экземпляров, не объявленные в заголовочных файлах? - PullRequest
0 голосов
/ 19 января 2012

Конечно, рекомендуется объявлять все методы в заголовочном файле, поэтому я ценю, когда xcode предупреждает меня, что метод экземпляра может быть не найден. Однако бывают случаи, когда я не объявляю метод в заголовке и не получаю предупреждения. Это определенно не какие-либо делегированные методы, так что в других случаях это может вызвать такое поведение?

Ответы [ 3 ]

2 голосов
/ 19 января 2012

Вероятно, метод уже определен в реализации ко времени его использования. Т.е. если используемый метод находится выше места, в котором он используется в файле реализации, то компилятор знает сигнатуру метода, поэтому все в порядке.

1 голос
/ 19 января 2012

Если вы вызываете ваш метод в ваше определение тела метода работает, например:

-(void)foo { bla }
[self foo];

Если вы тоже наоборот обрушиваетесь (если метод не в вашем заголовочном файле):

[self foo];
-(void)foo { bla }
1 голос
/ 19 января 2012

если ваш метод не объявлен в заголовочном файле (или расширении класса), но предшествует другому методу, который ссылается на него, вы не получите ошибку.

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