私は現在、Obj-C、より具体的にはプロトコルを学んでいます。私の質問を理解するには、ここでシナリオを作成する必要があります。
最初の例 (デリゲートを使用)。
私は、コントローラーからの情報を表示するように要求する UIView サブクラスです (または、情報の表示方法)。プロトコルを宣言し、デリゲート参照オブジェクト (またはそれが呼ばれるもの) を作成します。
@property (nonatomic, weak) id <protocolName> dataSource;
私のコントローラーはこのプロトコルに準拠しており、必要なメソッドを実装しています。
- ビューはコントローラーにメッセージを送信し、コントローラーは応答し、すべて問題ありません。
私が知る限り、これはプロトコルによる委任であり、私はそれを理解していると信じています。
しかし、別のシナリオを考えてみましょう。
- 私は単純なレベルベースのゲームの頭脳であるクラスです。メニューをいつ表示するか、またはゲームレベルのプレイをいつ開始するかを言います。しかし、レベルがいつ完了したかを知る必要があります。
つまり、このクラスは、現在のレベルを担当する別のクラスなど、プロトコルを実装する人からメッセージを受信する準備ができている必要があります。今、これは私が理解していないものです。プロトコルはどのように見えるべきで、どこで/どのように実装するのですか?
私の質問がまだ意味をなさない場合はお知らせください。ありがとう!