デリゲート(delegate, 委譲)とは、あるオブジェクトがプログラム中でイベントに遭遇した際、それに代わって、または連携して処理するオブジェクトのことです。関数のポインタやコールバック関数に近い機能で、クラスの動作をクラスを継承せずにカスタマイズするための仕組みです。ソースコードが無いライブラリーの拡張が容易に行えるメリットがあります。デリゲート先のオブジェクトはどんなオブジェクトでも良く、デリゲートしないときはnilを指定しても構いません。Objective-Cでは実行時解決を採用しているので、デリゲート先に指定したオブジェクトが必要なメソッド(デリゲートメソッド)を持っていなくてもコンパイルエラーにはならず何も実行されないだけとなります。あるオブジェクトはひとつのデリゲートしか持てないが、複数のオブジェクトが一つのオブジェクトをそれぞれのデリゲートとして指定することはできます。 リ