Swift 2.0 выдает предупреждения
Неизменяемое значение 'a' никогда не использовалось; Попробуйте заменить его на «_» или удалить.
Можно ли заменить if-let на «_»?
if let a = responseString {
//Code
}
Swift 2.0 выдает предупреждения
Неизменяемое значение 'a' никогда не использовалось; Попробуйте заменить его на «_» или удалить.
Можно ли заменить if-let на «_»?
if let a = responseString {
//Code
}
Это означает, что код никогда не обращался/не использовал константу "let a" внутри блока if.
Вероятно, вам вообще не нужен блок if, если вам не нужен доступ к «let a». Может быть, вместо этого вы использовали responseString!? Или вы хотите выполнить свой код только в том случае, если responseString не равен нулю (тогда это сделает простой if responseString != nil)?
После блока if «let a» будет помечен для сборки мусора или помечен для удаления после блока if во время компиляции (не уверен в этом).
Таким образом, компилятор считает хорошей идеей заменить условие, так как присваивание
let a = responseString
приведет к ложному, если
responseString == nil
и верно во всех остальных случаях.
Это назначение условий используется в 99% случаев, чтобы гарантировать, что, например. обнуляемая переменная responseString не является нулевой или даже чаще, чтобы автоматически разворачивать ее на лету.
Синтаксис, который я видел,
if let _ = responseString
{
//Code
}
Это только запускает код внутри фигурных скобок, если responseString не равен нулю, но не создает новую константу.
Не уверен, что компилятор подразумевает под «рассмотрите возможность замены его на ''». Ошибки и предупреждения компилятора Swift иногда кажутся бессмысленными.
Другими словами: (возможно, проще для новых кодеров)
Это просто говорит о том, что одна из переменных была создана, но никогда не использовалась. Поэтому, если вы использовали var a где-то еще, он исчезнет. Это тоже всего лишь предупреждение, которое при желании можно проигнорировать.
У меня была та же проблема с моим кодом, и я просто прокомментировал инициализацию переменной, поскольку в настоящее время она не используется. Решение, которое предлагает компилятор (замена на _), не подходит в тех случаях, когда вам нужна переменная с таким именем для будущего использования.