2

私はios開発が初めてです。私は、彼らが 2 人の代表者を財団に残していることを知りました。私の理解では、デリゲートは常に疎結合でなければならないということです。では、なぜこれら 2 つが明確に保持されるのでしょうか。

ありがとう

4

1 に答える 1

10

通常、デリゲートはオブジェクトの存続期間全体にわたって必要です。そのため、通常、デリゲートは弱い/保持されない参照です。そうしないと、オブジェクトもデリゲートも、もう一方が消えるのを待つため、割り当てを解除できません。

ただしNSURLConnectionCAAnimationデリゲートは、実際には、ある種の「終了」状態を持つ特定のタスクにのみ必要です。接続がロードを終了するか、キャンセルされるか、アニメーションが終了すると、デリゲートを解放するだけで、保持サイクルを中断できます。

于 2012-05-19T11:29:24.853 に答える