let x = User()?
y = x
z = y
「x」の参照カウントは2にする必要がありますか?Swiftでは、クラスポインタは常に親を指していますか?
y = nil
はz
はnilになっています、またはそれは、User
であり続けていますか?
let x = User()?
y = x
z = y
「x」の参照カウントは2にする必要がありますか?Swiftでは、クラスポインタは常に親を指していますか?
y = nil
はz
はnilになっています、またはそれは、User
であり続けていますか?
「x」の参照カウントは2である必要がありますか?
はい、あなたは参照を渡していますが、それは2度です。
は
z
はnilになっています、またはそれは、User
であり続けていますか?z
がUser
への参照を保持しているため
いいえ、z
は、nilになりません。 y
がnilに設定されている場合、参照カウントは1に低下するため、生きています。
z
はゼロになりません。これは、(同じ)Userオブジェクトへの参照を保持します。このオブジェクトは、オブジェクトを存続させます。
オブジェクトのライフサイクルとstrong/weak参照の詳細については、The Swift Programming LanguageのAutomatic Reference Countingセクションを参照してください。
「User()?」とは何ですか?なぜそれは 'User()'ではないのですか? – tktsubota