以下の複雑なオブジェクト階層を XCode のプレイグラウンドに定義します。
class Foo {
var name: String
required init(name: String) {
self.name = name
}
}
class Bar: Foo {
}
class Baz: Bar {
}
これらのクラスのインスタンスを作成すると、紛らわしい結果が生じます。
var foo = Foo(name: "Hello") // renders as {name: "Hello"}
var bar = Bar(name: "Hello") // renders as {{name: "Hello"}}
var baz = Baz(name: "Hello") // renders as {{{...}}}
その結果、bar
とbaz
は、親から継承するのではなく、親のインスタンスで構成されるオブジェクトであることがわかります。
これは、XCode がこれらのオブジェクトをレンダリングする方法にすぎないのでしょうか?それとも、それらの構造が私が期待するものではないのでしょうか?