我正在通过一个
learn-swift playground,并升级到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
- }
- }
看到一个answer to a similar question我看到我可以改变让都市:城市!到大都会城市:城市!并解决语法错误.
我意识到,在这个例子中,一个国家的首都可以改变,所以这样会很好,但如果有一个价值真的是一个常数的情况怎么办?