iPhone_アプリの起動 の変更点 - アールメカブ

アールメカブ


iPhone_アプリの起動 の変更点


[[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ファイルで定義されている.