UIApplicationMain、UIApplication 和 UIApplicationDelegate 协议的关系
2013-02-07 21:31
567 查看
main.m是iphone程序执行的入口。
一个典型的main.m文件如下:
main.m文件中,UIApplicationMain 的方法声明如下:
int UIApplicationMain (
int argc,
char *argv[],
NSString *principalClassName,
NSString *delegateClassName
);
当第三个参数为 nil 的时候,
而第四个参数,就是继承了 UIApplicationDelegate 的类:AppDelegate
AppDelegate的定义如下:
AppDelegate 的实现如下:
因此,
UIApplicationMain 是main方法中的唯一方法,是iphone执行程序的入口。
UIApplicationMain 的第三个参数是
一个典型的main.m文件如下:
#import <UIKit/UIKit.h> #import "AppDelegate.h" int main(int argc, char *argv[]) { @autoreleasepool { return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); } }其中,AppDelegate.h是一个头文件。头文件名称中的 App 是这个项目创建的时候由类前缀指定的,Delegate是自动加上的,原因是继承了 UIApplicationDelegate 协议。
main.m文件中,UIApplicationMain 的方法声明如下:
int UIApplicationMain (
int argc,
char *argv[],
NSString *principalClassName,
NSString *delegateClassName
);
当第三个参数为 nil 的时候,
UIApplication被赋给 UIApplicationMain ;
而第四个参数,就是继承了 UIApplicationDelegate 的类:AppDelegate
AppDelegate的定义如下:
#import <UIKit/UIKit.h> @interface AppDelegate : NSObject <UIApplicationDelegate> @property (strong, nonatomic) UIWindow *window; @end
AppDelegate 的实现如下:
#import "AppDelegate.h" @implementation AppDelegate @synthesize window = _window; @end
因此,
UIApplicationMain 是main方法中的唯一方法,是iphone执行程序的入口。
UIApplicationMain 的第三个参数是
UIApplication(或其子类),第四个参数是实现了 UIApplicationDelegate 协议的类。
相关文章推荐
- UIApplicationDelegate 和 UIApplication 的关系
- iOS 【应用程序app运行原理-UIApplication-AppDelegate.m-UIApplicationMain】
- UIApplication对象及其代理UIApplicationDelegate
- UIApplication对象及其代理UIApplicationDelegate[转]
- UIApplication对象及其代理UIApplicationDelegate
- IPHONE - GSRegisterPurpleNamedPort SIGABRT in UIApplicationMain Before App Delegate Gets to Run Any Code
- UIApplication对象及其代理UIApplicationDelegate
- UIApplication对象及其代理UIApplicationDelegate[转]
- UIApplication对象及其代理UIApplicationDelegate[转]
- UIApplicationDelegate协议解读
- UIApplicationDelegate协议…
- iPhone开发中我所遭遇的 各种协议之<UIApplicationDelegate>
- UIAPPLICATIONDELEGATE协议解读
- UIApplicationDelegate协议解读
- IOS开发UI之UIApplicationDelegate协议介绍
- 简析UIApplication及UIApplicationdelegate
- iPhone开发中我所遭遇的 各种协议之<UIApplicationDelegate>
- UIApplicationDelegate协议解读
- UIApplicationDelegate协议的方法说明
- UIApplicationDelegate 协议 浅析