こんにちはコミュニティ、
私はObjective-Cの中デリゲートの概念を理解しようとしています。私はドキュメントをフォローアップしようとしましたが、デリゲート間でメッセージを送信する方法について慣れ親しんで、カスタムデリゲートを作成したい場合、どうすればよいでしょうか?
誰かが私にこの概念をよりよく理解させてくれることを願っています。
おかげで、
ショーン
こんにちはコミュニティ、
私はObjective-Cの中デリゲートの概念を理解しようとしています。私はドキュメントをフォローアップしようとしましたが、デリゲート間でメッセージを送信する方法について慣れ親しんで、カスタムデリゲートを作成したい場合、どうすればよいでしょうか?
誰かが私にこの概念をよりよく理解させてくれることを願っています。
おかげで、
ショーン
は、代表者の基本的な考え方は、他のオブジェクトのインスタンスにデリゲート重要な意思決定や情報にあります。
ほとんどのフレームワークでは、アプリケーションフローにフックするためにサブクラス化とオーバーライドメソッドを使用します。それは動作しますが、欠点は、たとえば、多くのです:
オブジェクトがデリゲートを呼び出す可能性がある理由は4つあり、これらの4つのそれぞれはデリゲートメソッド名のキーワードを使用してこれを通知します。それは命名規則だけですが、良い市民になりたい場合はパターンに従ってください。
gestureRecognizer:
should
ReceiveTouch:
application
Will
Terminate:
です。accelerometer:
did
Accelerate:
tableView:
targetIndexPath
一般的なルールとしてForMoveFromRowAtIndexPath:toProposedIndexPath:
委任を要求して、指定されたオブジェクトのインスタンスである必要があり任意のデリゲートメソッドの最初の引数。
PeyloW、あなたが提供した4つの理由は、これらが唯一の理由ではない理由は、代理人は右の呼び出しが必要ですか?たぶん、私が主張する主な理由があるでしょう。同様に、「BackGround」に行くときに代理人を呼び出すことはできません。また、デリゲートを介して何かが行われた後、簡単にNSLogメソッドを使って更新を取得する簡単な例はありますか? –
バックグラウンドのために '' Foo'を*バックグラウンドにすることができれば、 '' shouldFooEnterBackground: ''、 '' fooWillEnterBackground: ''、 '' fooDidEnterBackground: ''、および/または 'tokenForEnteringBackgroundWithFoo:' AppleはPhotoPickerという名前のサンプルアプリケーションを用意しています。これは、両方ともUIKitのデリゲートを使用し、両方のデリゲートを定義/使用します(http://developer.apple.com/library/)。 ios /#samplecode/PhotoPicker / – PeyloW