Я точно понимаю, почему появляются предупреждения о неиспользуемых переменных. Я не хочу подавлять их в целом, потому что они невероятно полезны в большинстве случаев. Однако рассмотрим следующий (надуманный) код.
NSError *error = nil;
BOOL saved = [moc save:&error];
NSAssert1(saved, @"Dude!!1! %@!!!", error);
Xcode сообщает, что saved
это неиспользуемая переменная, хотя, конечно, это не так. Я подозреваю, что это потому, что NSAssert1
это макрос. NS_BLOCK_ASSERTIONS
Макрос не определен, поэтому Объективные утверждения C определенно включены.
Хотя это ничего не повредит, мне это кажется неопрятным и раздражающим, и я хочу подавить это, но я не знаю, как это сделать. Присвоение переменной самой себе избавляет от предупреждения компилятора, но я бы предпочел сделать это «правильным» способом, если такая вещь существует.
источник
'saved' was marked as unused but was used
В Xcode вы можете установить предупреждения для «Неиспользуемых переменных». Перейдите в «Настройки сборки» для цели и отфильтруйте слово «неиспользованный»
Вот скриншот:
Я предлагаю вам изменить его только для отладки. Таким образом, вы ничего не пропустите в своей окончательной версии.
источник
Попробуйте вот так. У меня это работает. Это сработает и для вас.
источник
'saved' was marked as unused but was used
Единственный простой и переносимый способ пометить переменную как используемую - это… использовать ее.
Однако вы можете быть довольны уже описанными расширениями для конкретного компилятора.
источник
ИСТОЧНИК
источник
попробуйте с атрибутом: __unused. Работает в Xcode 5
источник
Вы можете установить предупреждение компилятора LLVM 2.0 "Нет" в "Выпуск"
источник
Так вы делаете это в C и, следовательно, в Objective-C.
Даже если у вас не включены предупреждения, всегда полезно пометить возвращаемое значение как явно игнорируемое. Это также показывает другим разработчикам, что вы не просто забыли о возвращаемом значении - вы действительно явно решили его игнорировать.
РЕДАКТИРОВАТЬ: компиляторы игнорируют приведение к
void
, поэтому это не должно влиять на производительность - это просто хорошая чистая человеческая аннотация.источник
(void)
- самый простой способ, спасибо!Сделайте так, чтобы он занимал две строчки. Разделите декларацию и значение по умолчанию
источник