タグ

iphoneとデリゲートに関するmolee81のブックマーク (2)

  • Objective-Cのデリゲートの話 : As Sloth As Possible

    「Objective-Cで、参照先のオブジェクトから参照元に通知を送る方法。」を読んてで思ったんですが、若干冗長な気がする。 プロトコルを使う プロトコルを使うんだったら、最初からそのプロトコルに適合するオブジェクトしかdelegateになれないようにしちゃった方がいいと思う。こんな感じで。 @interface Foo : NSObject { id<SampleDelegate> delegate; } @property (assign) id<SampleDelegate> delegate; @end こうしちゃえば、そもそもSampleDelegateに適合しないオブジェクトはdelegateになれないので、conformsToProtocolのチェックは必要なくなる。UIKitでも(例えばUITableViewのdelegateとか)大体そうなってますね。あと、ObjCはレシ

    Objective-Cのデリゲートの話 : As Sloth As Possible
  • こたつつきみかん » デリゲート

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

  • 1