- 追加された行はこの色です。
- 削除された行はこの色です。
[[Programming]]
* とりあえず仮メモ [#t9e8f837]
[[ここ:http://ponytailthes.blogspot.com/2008_12_01_archive.html]]を参考.以下,抜粋.
[[ここ: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 の場合 [#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];
- View の追加.メイン以外に View クラスを追加する.
- Windows-Based の場合,View を追加.メイン以外に View クラスを追加する.
Xcode ->新規ファイル->CocoaTouchClasses->UIViewControler subclass
- 作成したクラスを MyViewControllerとし、MyAppDelegateへ以下のように定義.
-- MyAppDelegate.m
@class MyViewController;
@interface MyAppDelegate : NSObject <uiapplicationdelegate> {
UIWindow *window;
MyViewController *myViewController;
}
@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) MyViewController myViewController;
@end
- 作成したクラスを 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ファイルで定義されている.