Objective-C でよく使われるパターンとして、デリゲートがあります。C# などの言語では、デリゲートは言語の機能としてありますが、Objective-C では、言語としてデリゲートの機能があるわけではありません。 概要 Objective-C でのデリゲートとは、あるインスタンスに送られたメッセージを、そのまま別のあるインスタンスに受け流し、そのインスタンスにメソッドの実行を委ねることです。Objective-C では、メッセージの転送が容易に可能なので、このようなデリゲートの実現がされています。 上の図は、sender が receiver に message: を送信したところ、 receiver の delegate インスタンスにメッセージ転送が起きた図です。 デリゲートの実例 Cocoa Application において、デリゲートはさまざまなところで利用されています。