代理人を指定するクラスについて疑問があります。
デリゲートオブジェクトがプロトコルを実装する必要がある場合もあれば、そうでない場合もあります。たとえば、を表示する場合はUIAlertView
、likeselfを指定して作成しますdelegate
。次に、mustを呼び出しているクラスがプロトコルUIAlertView
を実装する必要があります。UIAlertViewDelegate
NSUrlConnection
メッセージのように他のクラスを作成する場合は、接続の進行に応じてconnectionWithRequest:delegate:
送信されたデリゲートメッセージを受信するデリゲートを指定しますがNSUrlConnection
、デリゲートとして指定されたオブジェクトはプロトコルを実装する必要はありません。
私は何かが足りないのですか?プロトコルをいつ実装する必要があるかをどのように理解しますか?のようにAPIリファレンスから常に明らかUIAlertViewDelegate
ですか?
UIAlertView
参照はインスタンスメソッドのみを示し、プロトコルを実装する必要があることを示し、実装するUIAlertViewDelegate
プロトコルNSUrlConnection
については説明していませんが、デリゲートメソッドセクションがあることに気付きました。
デリゲートメソッドを使用せずにプロトコルを使用してNSUrlConnection
、クラスのように定義できた可能性があります。UIAlertView
NSUrlConnectionDelegate
それとも私はポイントを逃していますか?同様の目的で2つの異なる方法があるように思えますが、おそらく私は間違っています。私はかなり明確になっていることを願っています、私はこのようなものの背後にある理論的根拠を完全に理解したいと思います。