この構造体で、 "lazy var townSize:Size = {"問題が何であるか把握してください。'() - > _'型の値を 'Town.Size'の指定された型に変換できません
struct Town {
let region = "South"
var population = 5422
var numberOfStoplights = 4
enum Size {
case Small
case Medium
case Large
}
lazy var townSize: Size = {
switch self.population {
case 0...10000:
return Size.Small
case 10001...100000:
return Size.Medium
default:
return Size.Large
}
}
func printTownDescription() {
print("Population: \(myTown.population), number of stoplights: \(myTown.numberOfStoplights)")
}
mutating func changePopulation(amount: Int) {
population += amount
}
}
これは一度初期化されるストアドプロパティですが、 'population'が後で変更された場合、' townSize'も自動的には変更されません。彼は計算された財産を望んでいると思う。 – Rob
意味がありますが、間違った怠惰なvar構文が私に騙されました:) –