接上节:

Application Delegate

viewBasedAppAppDelegate.m文件,当你用Xcode创建一个应用程序,你的应用程序总是用AppDelegate字符串来描述,它总是用“你的程序的名字”+AppDelegate来显示。它的代码将在程序完成装载时被执行完成,然后终止。

 

#import “viewBasedAppAppDelegate.h”
#import “viewBasedAppViewController.h”
@implementation viewBasedAppAppDelegate
@synthesize window;
@synthesize viewController;
- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)
launchOptions {
// Override point for customization after app launch
[window addSubview:viewController.view];
[window makeKeyAndVisible];
return YES;
}
- (void)dealloc {
[viewController release];
[window release];

 

#import “viewBasedAppAppDelegate.h”

#import “viewBasedAppViewController.h”

@implementation viewBasedAppAppDelegate

@synthesize window;

@synthesize viewController;

- (BOOL)application:(UIApplication *)application

didFinishLaunchingWithOptions:(NSDictionary *)

launchOptions {

// Override point for customization after app launch

[window addSubview:viewController.view];

[window makeKeyAndVisible];

 

return YES;

}

- (void)dealloc {

[viewController release];

[window release];

 

[super dealloc];

}

@end

当应用程序已经完成装载,它将发出一个application指令:DidFinishLaunchingWithOptions:message它被用于让窗口控制器将窗口显示出来.

viewBasedAppDelegate.h文件包含viewBasedAppDelegate所有类成员的声明:

 

#import <UIKit/UIKit.h>

@class viewBasedAppViewController;

@interface viewBasedAppAppDelegate : NSObject <UIApplicationDelegate> {

UIWindow *window;

viewBasedAppViewController *viewController;

}

@property (nonatomic, retain) IBOutlet UIWindow *window;

@property (nonatomic, retain) IBOutlet viewBasedAppViewController

*viewController;

@end

详细说明一行代码:@interface viewBasedAppAppDelegate : NSObject <UIApplicationDelegate> {

这个<UIApplicationDelegate>是程序引用UIApplicationDelegate协议的指定声明.UIApplicationDelegate协议事件还包括下面一些事件:

 

➤➤ Application:DidFinishLaunchingWithOptions: 

➤➤ applicationWillTerminate:

➤➤ applicationDidDidReceiveMemoryWarning:

Application Delegate类用于放置一些整个程序中都会用到的对象和函数,以便程序中的其它类的调用.