Подтвердить что ты не робот

Как отключить предупреждение в xcode на определенной строке?

У меня есть вызов, подобный этому [Метод класса], и предупреждение о том, что класс не может ответьте на сообщение "method".

Сообщение "method" действительно не существует, но мой код использует неизвестное сообщение catching (используя forwardingTargetForSelector), поэтому он будет работать нормально, и он будет создан таким образом. Как я могу скрыть это раздражающее предупреждение?

4b9b3361

Ответ 1

Если вы намерены отправить возможно-невыполненное сообщение объекту, и вы знаете, что вы собираетесь ломать сбои, вы должны использовать вызов:

id myClone = [anObject performSelector:@selector(copy)];

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

Ответ 2

Вы можете определить категорию, объявляющую этот метод. Наличие определения в области во время компиляции позволило бы избежать предупреждения. Что-то вроде

@interface MyClass (ShutUpTheCompilerMethods)
- (void)method;
@end

...

[MyClass method] //no warning here