単純な質問:.hファイルにメソッドを記述すると、.mファイルに実装を記述する必要はありませんか?私はFlipsideViewControllerで、新しいプロジェクト(ユーティリティアプリケーション)を作成すると、 "flipsideViewControllerDidFinish"メソッドが実際に "MainViewController.m"に "実装されている"ことを発見しました。MainViewControllerのFlipsideViewControllerメソッドを実装する
ポール
単純な質問:.hファイルにメソッドを記述すると、.mファイルに実装を記述する必要はありませんか?私はFlipsideViewControllerで、新しいプロジェクト(ユーティリティアプリケーション)を作成すると、 "flipsideViewControllerDidFinish"メソッドが実際に "MainViewController.m"に "実装されている"ことを発見しました。MainViewControllerのFlipsideViewControllerメソッドを実装する
ポール
FlipsideViewControllerDelegateはプロトコルFlipsideViewController.hで宣言され、(で実装)MainViewControllerで採用されている)、私はちょうどあなたの答えのために、この明確な、感謝を持っていると思いました。メインビューコントローラは、フリップサイドコントローラがいつ完了したかを知る必要がありますが、FlipsideViewControllerがMainViewControllerに関する詳細を知ることは意味がありません。それが完了したときに通知するはずのオブジェクトがあり、そのオブジェクトがFlipsideViewControllerDelegateプロトコルのメソッドを実装していることだけが知る必要があります。これは委任パターンです:How Delegation Worksで詳細を読む。
これはプロトコルです(以下のCalebの回答を参照してください)。しかし、そうでない場合でも、ヘッダーにメソッドを宣言して実装することはできません。しかし、それは実行時にクラッシュします。それは良いことではないでしょう。 ;) – FeifanZ
ありがとう! – Paul