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

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

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

2 ответов


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

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

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


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

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

...

[MyClass method] //no warning here