1

strongオブジェクトのプロパティと犬のリードを比較した Stack Overflow の回答を読みました。強い参照を伴う宣言ごとに、新しいリードが犬に追加されます。犬の散歩をしているすべての人が家に帰ると (または強い参照を持つすべてのオブジェクトが割り当て解除されると)、犬 (割り当てられたメモリ) を解放できます。そういう流れだったと思います。私がそれを完全に解体した場合、元の投稿者に謝罪します。とにかく、これが私の状況です。というプロパティを持つNSDocumentサブクラスがありますbackgroundColor。これが私のNSDocumentサブクラスがアクセサー/ミューテーターごとに行っていることです:

- (NSColor *)backgroundColor
{
    return self.window.backgroundColor;
}

- (void)setBackgroundColor:(NSColor *)color
{
    self.window.backgroundColor = color;
}

したがって、私のドキュメント オブジェクトは実際には「ひも」を所有していませんが、同時に、その犬が歩き続けることが重要です。そうしないと、ドキュメントの背景色がなくなります。今、私は比喩で自分自身を混同しているだけだと思います. strong結局のところ、「転送された」プロパティを beまたはとして宣言するかどうかを知りたいだけですweak

ありがとう!

4

2 に答える 2

3

プロパティとして宣言しないでください。あなたが持っているようにゲッターとセッターの実装を提供するだけで十分です。保存する値がないため、ここではプロパティは役に立ちません。

于 2014-02-26T16:46:47.187 に答える