BarがFooを参照している場合、オブジェクト間のメッセージパッシングは、基本的にBarからFooへのメソッド呼び出しとなります。逆に、FooからBarにメッセージを送りたいときはどうすればいいでしょうか。C#では、デリゲートやイベントという便利な仕組みが用意されています。Objective-Cの場合は、C#よりも面倒なのですが、下のように書くといいようです。 FooからBarに送るメッセージです。SampleDelegate.h @protocol SampleDelegate <NSObject> @optional - (void)objectChanged:(id)sender; @end メッセージを送る方です。Foo.h @interface Foo : NSObject { id delegate; } @property (assign, readwrite) id del