Boneへの弱い参照を持つDogがある場合、これは、この状況では Dog が参照の「所有者」であり、bone を使用することを意味しますが、bone は存在しなくなり、 Dog は引き続き機能します (参照がto bone はオプションです)。
ただし、「unowned」の場合、所有者の参照の宣言ではなく、他のオブジェクトでキーワード「unowned」が使用されているようです。たとえば、Bone の犬への言及は「所有されていない」とマークされています。
未所有は安全ではありません。プログラムのある時点で所有者が存在しなくなるとクラッシュする可能性があり、オプションにすることはできません。弱い参照ではなく、所有されていないものを使用するのはなぜですか?
なぜ弱いだけを使わないのですか?私の理解では、大声で失敗することと、静かに失敗することと関係があります。所有されていない場合、ボーンが犬なしで終了すると、アプリは常にクラッシュしますが、weak を使用すると、まだ存在するボーンと「ゴースト」犬が存在することになります。