Интересно, но у меня ошибка возникает.
Ошибка если объявить пустую переменную
У меня тоже самое: error: MyPlayground.playground:2:1: error: variables currently must have an initial value when entered at the top level of the REPL
_ var str : String_
Всё же похоже вы объявляете переменную или внутри структры или метода, где она потом инициализируется.
Ну и как бы не должно работать, вот в чём дело )
Похоже мы тут все как-то перетрудились))
Вот примеры из учебника - Аннотация типов:
var welcomeMessage: String
var red, green, blue: Double
Это классический способ объявления переменной без инициализирующего значения. И именно в playground. Ниже скриншот с этими двумя примерами и первым примером топикстартера.
Как видите никаких ошибок не выдает.
Так что все-таки это просто какой-то глюк Xcode.
прохожу учебник Усова, возникла такая же проблема как и у ТС.
перезагрузка Xcode все решила, ошибки исчезли
Version 10.1 - одни глюки(
Никакие это не глюки, посмотрели бы матчасть. Это нововведение от Apple в целях избежать одну из старых ошибок. Теперь переменные нормального типа нельзя объявлять без инициализации (Источник: https://stackoverflow.com/questions/24135605/two-different-types-of-nil-in-swift#24135720). Поэтому либо использовать optional value, либо инициировать переменную сразу
Их можно объявлять без чего-либо, если дальше им когда-либо гарантированно будет присвоено значение перед использованием.
Потому как раз поучите матчать пожалуйста.
Без чего либо можно объявлять только внутри метода. Вне метода у вас будет ошибка. И я говорю не про плейгроунд.
И где гарантия, что этот метод когда-либо будет вызван?
+Здесь правила инициализации требуют, чтобы все хранимые свойства получили хоть какое-то значение.
Вот вам пример, который выдаст ошибку
var a: Int
a = 5
print(a)
Заметьте, присвоение значения будет 100%м, без каких-либо условий
Возникла такая же ошибка в Xcode 10. Попробуйте поменять настройку “Execute Playground” c “Manually run” (cкорее всего она стоит по дефолту) на “Automatically run”. Мне помогло, ошибка пропала.
Кнопка в виде треугольника в левом нижнем углу, необходимо зажать на пару секунд, выскочит меню и можно будет поменять опцию.