Я работаю над обучаемой быстрой площадкой и обновляя ее до Swift 2.0, когда изучаю язык. Следующий код (который, вероятно, работал с предыдущими версиями Swift) теперь генерирует две ошибки: "self" используется до того, как все сохраненные свойства инициализируются "и" Constant "self.capitalCity, используемый до инициализации"
class Country
{
let name: String
let capitalCity: City!
init(name: String, capitalName: String)
{
self.name = name
self.capitalCity = City(name: capitalName, country: self)
}
}
class City
{
let name: String
unowned let country: Country
init(name: String, country: Country)
{
self.name = name
self.country = country
}
}
чтение ответа на аналогичный вопрос Я вижу, что я могу изменить let capitalCity: City!
на var capitalCity: City!
, и синтаксическая ошибка будет решена.
Я понимаю, что в этом надуманном примере страна-столица может измениться, так что это будет хорошо, но что, если бы был случай, когда значение действительно было постоянным...
Есть ли способ разрешить синтаксическую ошибку, сохраняя константу capitalCity?