[[Programming]] * とりあえず仮メモ [#t9e8f837] [[ここ:http://ponytailthes.blogspot.com/2008_12_01_archive.html]]や[[ここ:http://d.hatena.ne.jp/hdtooo/20081206/1228551130]]を参考.以下,抜粋. Windows-Based Application の場合,ViewBaseed Application の場合と,整理しなければならない. 以下の説明は,Windows-Based Application * Windows-Based Application の場合 [#zf55d88f] - main.m ここからアプリが起動するが,UIApplicationMain関数を実行して,Windowを初期化するだけ.UIApplicationMainは info.plist 内の MainNibFile 値のインターフェースを初期化する. デフォルトはMainWindowであり,MainWIndow.xibが読み込まれる. MainWIndow.xibをみると,File'sOwner とあるが,これが UIApplication のインスタンスである. -- UIApplicationの動作はその delegate によって制御される.これはUIApplicationDelegate クラスにまとまられており,このクラスをインスタンス化したあとでUIApplicationのdelegateに接続すると,動作が制御されるようになる. - アプリケーションは起動が完了すると applicationDidFinishLaunching をdelegate に送信 [window makeKeyAndVisible]; - Windows-Based の場合,View を追加.メイン以外に View クラスを追加する. Xcode ->新規ファイル->CocoaTouchClasses->UIViewControler subclass - 作成したクラスを MyAppDelegateに定義. //-- MyAppDelegate.h // // @class MyViewController; // @interface MyAppDelegate : NSObject <uiapplicationdelegate> //{ // UIWindow *window; // MyViewController *myViewController; // } // // @property (nonatomic, retain) IBOutlet UIWindow *window; // @property (nonatomic, retain) MyViewController myViewController; // @end // //-- MyAppDelegate.m - InterfaceBuilder->新規作成->CocoaTouch->View Xcodeリソースとして取り込む.その後 Resourcesフォルダに移動. -- コントローラークラスへの所属を指定 Tools->Identity Inspector->File's Owner->ClassにMyViewControllerを指定. -- File's Ownerにアウトレット(nibファイル内の項目に接続しているインスタンス変数)を設定.File's OwnerをCtrlクリックしながらViewまでドラッグ. - ビューにオブジェクトを追加 * ViewBased の場合 [#m70ee0a8] - 以上の説明はあてはまる.すなわち MainWindow.xib の File'sOwner の delegate は My App Delegate にリンクされている. - My App Delegate の viewController はMainWindow.xib 内の My View Controller とリンクされている. - My View Controllor は Xcode 上での MyViewControllerのクラスをインスタンス化した実体で,xibは別に MyViewController.xibファイルで定義されている.