Подавление предупреждений Objective-C - PullRequest
1 голос
/ 30 октября 2009

Есть ли способ подавления предупреждений компилятора ??

Спасибо

Ответы [ 2 ]

4 голосов
/ 30 октября 2009

Если вы не хотите видеть их в XCode, вы можете подавить их, щелкнув правой кнопкой мыши на окне источника и выбрав Пузыри сообщений | Только ошибки . Рядом со строкой все еще будет небольшой предупреждающий символ, но текст предупреждений не появится.

Вы можете запретить компилятору генерировать предупреждения, открыв информационное окно проекта и перейдя на вкладку build . В разделе GCC #. # - Предупреждения имеется флажок Запретить все предупреждения . Похоже, он будет делать то, что вы хотите.

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

-GCC_WARN_INHIBIT_ALL_WARNINGS -w

Я никогда не пробовал эти переключатели. Они были перечислены в области справки в информационном окне проекта.

Но лучшее решение, конечно, это выяснить, почему в вашем коде есть предупреждения, и исправить это.

2 голосов
/ 15 февраля 2010

Да, я все за исправление предупреждений, но что если у вас есть приложение, которое вы хотите работать на 10.4 и выше, а в некоторых местах использовать методы / сообщения в 10.6, но все же работать на 10,4

Например, NSDate.addTimeInterval устарел, поэтому для 10.6 лучше использовать NSDate.dateByAddingTimeInterval.

Из того, что я могу решить, независимо от того, что я делаю, я закончу тем или иным предупреждением. Если я добавлю код:

if ([NSDate instancesRespondToSelector:@selector(dateByAddingTimeInterval)]) {
  timer = [[NSTimer alloc] initWithFireDate:[nowDate dateByAddingTimeInterval:10.0] interval:0.05 target:self selector:@selector(fade:) userInfo:nil repeats:YES];
} else {
  timer = [[NSTimer alloc] initWithFireDate:[nowDate addTimeInterval:10.0] interval:0.05 target:self selector:@selector(fade:) userInfo:nil repeats:YES];
}

Я получаю предупреждение в первой половине оператора if, если версия sdk 10.5, и предупреждение во второй половине, если версия sdk 10.6.

Если я знаю , код в порядке, есть ли прагма или аналогичная конструкция, которая позволит мне сообщить компилятору, что рассматриваемая строка в порядке?

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