您的位置:首页 > 其它

iPhone程序运行流程浅谈

2013-01-24 09:16 197 查看
1. 和大多数语言一样,每一个iPhone应用也都是从主函数开始运行,它的main函数都在XCode的Other Reasource逻辑目录下。

[cpp]
view plaincopyprint?

UIApplicationMain(argc, argv, nil, nil);

[cpp]
view plaincopyprint?

UIApplicationMain(argc, argv, nil, nil);

[cpp]
view plaincopyprint?

@interface testSDKAppDelegate : NSObject <UIApplicationDelegate> {

UIWindow *window;
testViewController *viewController;
}

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

[cpp]
view plaincopyprint?

@interface testSDKAppDelegate : NSObject <UIApplicationDelegate> {
UIWindow *window;
testViewController *viewController;
}

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

@interface testSDKAppDelegate : NSObject <UIApplicationDelegate> {
UIWindow *window;
testViewController *viewController;
}

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


这样就可以在Interface Builder里连接,并且完成相应的初始化工作。

观察MainWindow.xib的** APP Delegate实例,Interface Builder已经为我们连接上了一个Window和一个Controller实例。

再看看** APP Delegate.m。

[cpp]
view plaincopyprint?

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

// Override point for customization after app launch.

[self.window addSubview:viewController.view];
[self.window makeKeyAndVisible];

return YES;

}

[cpp]
view plaincopyprint?

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

// Override point for customization after app launch.

[self.window addSubview:viewController.view];
[self.window makeKeyAndVisible];

return YES;
}

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

// Override point for customization after app launch.
[self.window addSubview:viewController.view];
[self.window makeKeyAndVisible];

return YES;
}

他在UIApplication的这个回调方法中,将Controller的视图加载到了Window上。

关于这个回调方法文档当中有这么一句话, It is called after your application has been launched and its main nib file has been loaded. 就是说在程序运行起来并且主nib文件完成加载后,这个委托方法将会被调用。

整个程序目前暂时不需要我们考虑的初始化流程就结束了, 在这之后,我们就可以加入我们程序的逻辑了。

由于时间仓促,如有疏漏还请大家指出。

希望本文可以帮到你。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: