UIView
さんの描画が助けられていることに最初は少し驚きましたがCALayer
、CALayer
実際にはさんのデリゲートが助けてくれUIView
ます。関係が逆転しているようです。
しかし、デリゲートには「マスターコマンダー」または「所有権」の関係がないというのは本当ですか...どの方向にも進むことができます。たとえば、クラスAはクラスBであるデリゲートを持つことができ、同時にクラスBはできるクラス A のデリゲートもあります。
さらに、複数のデリゲートが存在する可能性があります。つまり、オブジェクトは他の複数のオブジェクトからの助けを必要とします。
CTOが「誰かにインタビューする技術能力テスト」をデビッドに委任できるのは、物理的な世界に似ています。現在、デビッドは1から10のスコアを提供するための代理人です.しかし、デビッドは要件を満たすか、または「私は Javascript の候補者にしか面接できません。新しい候補者を採用できることに同意し、彼がスケーラビリティの問題に長けていることがわかった場合は、彼と一緒に仕事をすることに同意します。私たちのグループはそのような必要があるからです。」 David はこれを CTO に委任しています。
したがって、Objective-C (およびおそらく任意の言語も) では、複数のデリゲートが存在する可能性があり、それらは任意の方向に進むことができます。主なアイデアは、元のオブジェクトが処理方法を知らない「ヘルプ」のためだけです。本当?