2016-12-26 5 views
7

Я отслеживаю Swift App Tutorial, созданный Apple here. В частности, я пытаюсь создать несколько пользовательских кнопок для создания рейтингового контроля. Кнопки имеют три связанных с ним изображения: emptyStar, fillStar и highlightStar, которые будут использоваться в разных состояниях кнопки.Ожидаемая ошибка в Swift?

Я использую код в точности так, как это предусмотрено Apple, но я не знаю, почему я получаю это время компиляции загадочных ошибок Expected pattern, как показано на скриншоте: Expected pattern errors Image Assets

Что я делаю Неправильно здесь?

+2

Это ' imageName' фактически ярлык для' #imageLiteral (ResourceName:) ', который во время компиляции' UIImage (с именем:) '. – user28434

ответ

10

Глупый я, и Xcode, это функция автозаполнения кода, которая меня смущает.

Маленькие значки в коде, показанные на первом снимке экрана, не являются приятными визуальными украшениями, которые соответствуют моим именам переменных (хотя мне бы хотелось, чтобы эти умные «эможисы» украшали мой код). Они указывают, что то, что я объявляю после let, не является переменной, но очень изображение.

Вы должны быть осторожны, не принимая автоматическое завершение при вводе текста и при использовании обычного текста при объявлении константы. После такого объявления вы увидите, что есть два разных, например, emptyStar с одним и тем же именем - одно изображение, а другое - константа.

Two empty stars

Вот окончательный код, едва заметное изменение зрения!

Final working code