NSURLConnectionのドキュメントには、次のようなデリゲートメソッドがあると記載されています。
connection:willSendRequest:redirectResponse:
ただし、ドキュメントには、実装するデリゲートプロトコルについては記載されていません。さて、私はデリゲートのためのプロトコルがないだけだと思います、それですべてはただオプションですか?
NSURLConnectionのドキュメントには、次のようなデリゲートメソッドがあると記載されています。
connection:willSendRequest:redirectResponse:
ただし、ドキュメントには、実装するデリゲートプロトコルについては記載されていません。さて、私はデリゲートのためのプロトコルがないだけだと思います、それですべてはただオプションですか?
これは、NSObjectのカテゴリとして実装されている非公式のプロトコルです。NSURLConnection.h
@interface NSObject (NSURLConnectionDelegate)
つまり、NSObjectの任意のサブクラスをNSURLConnectionのデリゲートにすることができます。はい、すべてのデリゲートメソッドはオプションです。
1つはなく、完全を期すためにあるはずですが、不要です。Objective-Cは、ダックタイピングと呼ばれる概念に取り組んでいます。これは、基本的に、オブジェクトにメソッドがある場合、それがプロトコルまたはヘッダー定義の一部でなくても、メッセージをオブジェクトに送信できることを意味します。