ここ超重要。iPhoneアプリの設計方針とか。
4-1-3 基本となるコントローラ
まず、アプリケーション全体のコントローラとなるクラスを作る(アプリケーションコントローラ)。次に、
アプリケーションが複数のビューを切り替えながら動作する場合、それぞれのビューに対してコントローラを作成するのがいいだろう。
とのこと。
また、アプリケーションコントローラは特に継承すべきクラスは決まっていない。
ビューコントローラは、UIViewControllerと呼ばれるクラスが提供されているので、これを継承すると良い。
4-1-4 データソースとデリゲート
データソースとデリゲートはコントローラが兼ねることになる。これにより、UI Kitが提供するビューを変更しなくてすむ。
アプリケーション独自のロジックは、コントローラに集中させるべき。
4-1-5 アプリケーションのエントリーポイント
XcodeでWindow-Based Applicationを新規作成する。仮に「Test」というプロジェクト名にする。
プロジェクトウインドウには、TestAppDelegate.hとTestAppDelegate.mというファイルがあり、このクラスがアプリケーションコントローラとなる。
TestAppDelegate.hを開くと、UIApplicationDelegateプロトコルに準拠しているのが確認できる。つまり、UIApplicationクラスのデリゲートとして使える。
メンバ変数には、UIWindowクラスの変数を持っている。これが、アプリケーションのウインドウとなる。
TestAppDelegate.mを見ると、「applicationDidFinishLaunching*1」というメソッドがある。これがコンストラクタっぽい。
TestAppDelegate.mにはもう一つメソッドがあり、「dealloc」メソッドが記述されている。これはオブジェクトが解法されるときに呼び出されるもので、後処理を行うらしい。
まぁとにかくプロジェクト名+AppDelegate.m と .h というファイルが作成されて、それがコントローラになるみたい。
*1:なんちゅー名前だ