Отключить неиспользуемые предупреждения переменной Xcode при наборе текста
Я до смерти заболел плодовитым использованием Xcode живых предупреждений о "неиспользуемых переменных", пока я печатаю. Я продолжаю думать, что у меня есть ошибка в моем синтаксисе, остановить то, что я делаю, проверить предупреждение, только чтобы увидеть это предупреждение о неиспользованной переменной.
![enter image description here]()
Конечно, это не используется, я просто набрал его!
Я не против предупреждений о неиспользуемых переменных во время компиляции, они очень полезны, но я ненавижу живые предупреждения, поскольку я печатаю код.
Можно ли каким-то образом отключить это предупреждение везде, для всего приложения или для всего проекта?
Ответы
Ответ 1
Похоже, что в настоящее время мы не можем подавлять конкретные предупреждения тем способом #pragma clang diagnostic ...
, который можно использовать для obj-C. См. следующий поток
Можно отключить все интерактивные предупреждения по всему миру, отключив Показать живые проблемы, от Xcode → Предпочтения: вкладка Общие. Это, однако, сверх отключения всех живых предупреждений, также отключает живые ошибки, поэтому я предполагаю, что вы не захотите прибегать.
[Предупреждения сборки] Вы можете отключить пользовательские предупреждения сборки в масштабе всего проекта следующим образом:
- Выберите проект в навигаторе и выберите вкладку Настройки сборки. Найдите Apple LLVM 7.0 - Предупреждения - Все языки и отключите предупреждения для Неиспользуемые значения и Неиспользуемые переменные.
![введите описание изображения здесь]()
Ответ 2
В моей версии (Xcode 10.2.1) кажется, что отключение живых предупреждений только отключает предупреждения, а не все ошибки, как говорили другие. Итак, я думаю, что этот точный ответ достаточно хорошо подходит для оригинального поста:
Xcode > Preferences > General > Issues: [x] Show live issues
Снимите флажок " Show live issues
". Нет больше постоянных предупреждений при вводе нового кода.
Ответ 3
@warn_unused_result
- поведение по умолчанию с Xcode 10 (swift 4.2). Предупреждения "Неиспользуемые значения" и "Неиспользуемые переменные" также включены по умолчанию. Это не очень хорошая идея, чтобы отключить их, и этот ответ показывает, почему. Для ваших собственных или переопределенных функций вы можете использовать директиву @discardableResult
в объявлении, чтобы подавить эти предупреждения следующим образом:
![suppressing Unused Values warning with discardableResult directive]()
Обратите внимание, что doSubmission() не генерирует никаких предупреждений.
На самом деле это используется в некоторых системных API, например: если вы пишете
navigationController?.popToRootViewController(animated: true)
вместо
_ = navigationController?.popToRootViewController(animated: true)
вы не получите предупреждения за игнорирование возвращенного результата.
Использование _ = funcWithResultWeDoNotCareFor()
является наилучшей практикой ИМХО.
Кстати, это все работает для проекта. На игровой площадке вы не получите предупреждения "Неиспользуемые значения" и "Неиспользуемые переменные", несмотря ни на что.