Ответ 1
Вы можете подавить предупреждения Incomplete Implementation
, добавив
#pragma clang diagnostic ignored "-Wincomplete-implementation"
чуть выше @implementation
Надеюсь, что это поможет
EDIT
После того, как в комментариях сказано, что это не сработало для кого-то, и выяснение причины было связано с тем, что это было другое предупреждение, которое они получали, я немного поиграл и смог решить проблему там, поэтому я подумал, что я бы обновил этот ответ, включив их, а для GCC
тоже игнорирует. Поэтому для вопроса @Tony
следует работать
#pragma clang diagnostic ignored "-Wprotocol"
Для тех, кто хочет знать версию компилятора GCC
, он
#pragma GCC diagnostic ignored "-Wprotocol"
#pragma GCC diagnostic ignored "-Wincomplete-implementation"
Я также сделаю вывод, что все эти diagnotstic ignores
можно также сделать, указав параметр на основе каждого файла, перейдя в XCODE Project >> Target >> Build Phases >> Compile Sources
и добавив флаг компилятора, чтобы вы просто добавили -Wprotocol
или Wincomplete-implementation
или любой необходимый вам флаг компилятора.
Надеюсь, что это обновление поможет всем, если мне больше потребуется обновить мой ответ, чтобы включить.
РЕДАКТИРОВАТЬ 2
Я уже немного разбирался в этом, наткнулся на Руководство пользователя Clang Compliler, поэтому я подумал, что это будет интересно и полезно любому, кто имеет проблемы вокруг этой области.
Я также нашел другой способ использования этих #pragma diagnostic ignores
, и вы можете push
и pop
их, чтобы, если вы хотите просто игнорировать определенный раздел файла, а не все, то вы может сделать следующее
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wmultichar"
// And pop the warning is gone.
char b = 'fa';
#pragma clang diagnostic pop
Помните, что все эти #pragma
компиляции игнорируются также можно использовать с GCC
, так что выше было бы
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wmultichar"
// And pop the warning is gone.
char b = 'fa';
#pragma GCC diagnostic pop
push
и pop
, похоже, работают со всеми diagnostic ignores
, которые я пробовал до сих пор.
Другой -
#pragma clang diagnostic ignored "UnresolvedMessage"
#pragma GCC diagnostic ignored "UnresolvedMessage"
Для подавления неиспользуемых переменных
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wunused-variable"
NSString *myUnusedVariable;
#pragma clang diagnostic pop
и версия GCC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wunused-variable"
NSString *myUnusedVariable;
#pragma GCC diagnostic pop
Еще несколько за игнорирование предупреждений из unavailableInDeploymentTarget
#pragma clang diagnostic push
#pragma ide diagnostic ignored "UnavailableInDeploymentTarget"
leftEdge.barTintColor = rightEdge.barTintColor = self.toolbar.barTintColor;
#pragma clang diagnostic pop
и выполните утечку фильтра
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Warc-performSelector-leaks"
[target performSelector:cancelAction withObject:origin];
#pragma clang diagnostic pop
и устаревшие объявления
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
button = [[UIBarButtonItem alloc] initWithTitle:buttonTitle style:UIBarButtonItemStyleBordered target:self action:@selector(customButtonPressed:)];
#pragma clang diagnostic pop
Благодаря DanSkeel
вы можете найти здесь весь список