XCode3.2 から Cocoaアプリケーションテンプレートを使って新規にプロジェクトを作成すると App Delegate が用意されるようになった。
以下は BlocksStudy というプロジェクトを作成した時の様子。BlocksStudyAppDelegate というクラスが自動的に用意された。
BlocksStudyAppDelegate.h
@interface BlocksStudyAppDelegate : NSObject{
NSWindow *window;
}
@property (assign) IBOutlet NSWindow *window;
@end
NSWindow のアウトレットがプロパティとして用意されている。
BlocksStudyAppDelegate.m
@implementation BlocksStudyAppDelegate
@synthesize window;
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
// Insert code here to initialize your application
}
@end
applicationDidFinishLaunching: のひな形が用意されている。
InterfaceBuilder にもちゃんとインスタンスが登録されていて、File'sOwner(NSApplicationインスタンス)の delegate先に指定されている。
iPhone のテンプレートに近くなったようだ。
- - - -
検証目的なら今まで作っていた AppCotnroller は不要になるな。