delegate(デリゲート) は 何か, 何ができるのか

delegate(デリゲート) は

何か

他のオブジェクトがイベント通知を受けた時

このオブジェクトの代わりにアクションを実行するオブジェクト

an object that acts on behalf of another object
when that object encounters an event in a program

何ができるのか

メッセージングの手法提供

カスタムオブジェクトが

既成オブジェクト(フレームワーク側で用意した UI オブジェクトなど)へ

アプリケーション仕様をメッセージングできるようにする

provides a way for your custom object
to communicate application-specific behavior
to the off-the-shelf object

他オブジェクトのアクションを変更(継承の未使用)

継承を利用せずに、他オブジェクトのアクションを

変更可能にする

makes it possible for one object
to alter the behavior of another object
without the need to inherit from it

document

developer.apple.com