#ios #swift #warnings
#iOS #swift #предупреждения
Вопрос:
Поскольку я преобразовал свой код в Swift 3
, я получал предупреждение всякий раз, когда я не использую результат UITextField
resignFirstResponder()
метода.
Ошибок нет (по крайней мере, на данный момент), но мне не очень нравится получать подобные предупреждения. Итак, мои вопросы:
- Должен ли я на самом деле использовать результаты такого рода вызовов? И если ответ да, что мне с ними делать?
- Если ответ отрицательный: как я могу избавиться от этих предупреждений?
Ответ №1:
Как Shaggy D
уже было сказано, эти предупреждения можно безопасно игнорировать.
Если вы вообще не хотите видеть их в своем проекте, вы можете установить GCC_WARN_UNUSED_VALUE
значение false/NO
in Build Settings
.
Или просто добавьте let _ =
перед resignFirstResponder()
:
let _ = resignFirstResponder()
Ответ №2:
1) Вы можете безопасно игнорировать результат
2) Поместите эти строки перед вызовом :
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wunused-result"
Комментарии:
1.
#pragma
? ВSwift
?2. @user28434 Уверен в swift! Вам нужно создать . файл pch добавьте его в настройки сборки и добавьте туда все, что угодно, и это работает
Ответ №3:
resignFirstResponder вернет false, когда объект, который вы просите уйти в отставку, отказывается это делать. Например, текстовое поле вернет false, если оно находится в процессе редактирования, и я должен представить, что строка поиска в вашем примере будет делать то же самое. Следовательно, если вы проигнорируете результат этих вызовов, вы можете попасть в небольшой беспорядок.
Предупреждения в XCode могут раздражать, но, по моему личному мнению, они в целом полезны, и вам следует отредактировать свой код, чтобы избавиться от них. Когда я работаю над загрузкой нового кода, я, как правило, получаю предупреждения, но всегда регулярно их очищаю.
В этой ситуации я бы посоветовал вам добавить некоторый код, чтобы учесть вероятность отказа панели поиска отказаться от статуса первого ответчика.
Надеюсь, это поможет.