Avatar
全然別の例なんですが、 varlet の間にもうちょいなんかほしいなーと思うことはあって、 struct User { let name: String var age: Int } do { let group = Group( id: 1, owner: User(name: "hoge", age: 16) ) // groupがletなのでこれはできない // group.owner.age += 1 } // というのはいいんだけど do { var group = Group( id: 1, owner: User(name: "hoge", age: 16) ) group.owner.age += 1 print(group) // Group(id: 999, owner: __lldb_expr_1.User(name: "ほげほげぴよぴよーー", age: 65536)) // 👆!!?? } // 実はこうなってました struct Group { let id: Int var owner: User { didSet { self = Group(id: 999, owner: User(name: "ほげほげぴよぴよーー", age: 65536)) } } }