2015-02-05 2 views
2

Получили этот кусок кода:Несколько ошибок в Swift при использовании || или && логические операторы

if (self.competitionData.competitionList == nil) || (renewCache) { 
    // <things to be done> 
} 

где renewCache является Bool.

Я получаю следующие ошибки в этой строке:

  • Ожидаемого «{» после того, как «если» условие
  • Скрепленного блок операторов Неиспользованного закрытие
  • Недопустимый символ в исходном файле

, но AFAIK Я думаю, что это правильно. В чем проблема?

Спасибо.

+2

Я голосующий, чтобы закрыть этот вопрос как не относящийся к теме, потому что это базовая синтаксическая ошибка. Помечено как «слишком локализованный» в прошлых версиях вариантов закрытия SO. –

+2

Я ничего не могу сделать чтобы получить этот код для генерации ошибки (и, действительно, единственное, что я вижу, это маргинальное приложение, включающее 'renewCache' в parens, что необязательно и в основном бессмысленно. Если у вас все еще есть эта проблема, вам нужно опубликовать остальные проблемный контекст, минимальный воспроизводимый пример. –

+1

Мое лучшее предположение: удалить текст между if и {полностью и ввести его вручную (не копировать/вставлять!). Возможно, у вас есть неправильный символ utf-8, который вы не видите. –

ответ

1

Ну, наконец-то я нашел проблему ,

Это не относится к этой строке вообще, но предложение, подобное 10 строкам ниже в вызове метода, где я передавал второй параметр без имени параметра. Кстати, эта линия не была отмечена как ошибка по XCode :-(

, кажется, что анализатор XCode Swift имеют некоторые проблемы с распознаванием правильной линии вашей ошибки.

После устранения проблемы, что линия

-2

Попробуйте с дополнительными скобками:

if ((self.competitionData.competitionList == nil) || (renewCache)) { 
} 

Это проблема, нужно только экстра-круглые скобки для условий :)

PD: К сожалению, фиксированный

+1

В операторе swift if условие не обязательно должно быть заключено в(). –

Смежные вопросы