2011-07-05 11 views
0

単純な質問:.hファイルにメソッドを記述すると、.mファイルに実装を記述する必要はありませんか?私はFlipsideViewControllerで、新しいプロジェクト(ユーティリティアプリケーション)を作成すると、 "flipsideViewControllerDidFinish"メソッドが実際に "MainViewController.m"に "実装されている"ことを発見しました。MainViewControllerのFlipsideViewControllerメソッドを実装する

ポール

+0

これはプロトコルです(以下のCalebの回答を参照してください)。しかし、そうでない場合でも、ヘッダーにメソッドを宣言して実装することはできません。しかし、それは実行時にクラッシュします。それは良いことではないでしょう。 ;) – FeifanZ

+0

ありがとう! – Paul

答えて

0

FlipsideViewControllerDelegateはプロトコルFlipsideViewController.hで宣言され、(で実装)MainViewControllerで採用されている)、私はちょうどあなたの答えのために、この明確な、感謝を持っていると思いました。メインビューコントローラは、フリップサイドコントローラがいつ完了したかを知る必要がありますが、FlipsideViewControllerがMainViewControllerに関する詳細を知ることは意味がありません。それが完了したときに通知するはずのオブジェクトがあり、そのオブジェクトがFlipsideViewControllerDelegateプロトコルのメソッドを実装していることだけが知る必要があります。これは委任パターンです:How Delegation Worksで詳細を読む。

+0

正確には、メソッドが '@ protocol'で始まり' @end'で終わるブロックに囲まれていることに注意してください。これはObjective-Cプロトコルです。 – FeifanZ

+0

答えをありがとう! – Paul

関連する問題