- 一个程序运行的大多数工作都是由UIApplicationMain函数来处理的,我们来看看UIApplicationMain中有哪些参数
OC:
int main(int argc, char * argv[]) {
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}
}
Swift:
UIApplicationMain(CommandLine.argc, UnsafeMutableRawPointer(CommandLine.unsafeArgv).bindMemory(to: UnsafeMutablePointer<Int8>.self,capacity: Int(CommandLine.argc)),
NSStringFromClass(PPApplication.self),
NSStringFromClass(AppDelegate.self)
)
UIApplicationMain原来的第三个参数是nil,更改成NSStringFromClass([PPApplication class])
PPApplication:是自定义UIApplication类,在这个类中重写方法-sendEvent可以进行一些事件的监听、拦截
- UIApplicationMain()函数是初始化程序的核心,它接受4个参数,前三个参数代表应用程序本身,它除了把应用的事件循环启动起来,并读取info.plist里的配置信息,不做其它任何事情
1、argc和argv:来自于main()函数中接收的两个参数
2、第三个参数:主要类(principal class),如果不是nil,必须是UIApplication或其子类的名字,如果该参数为nil,则默认为@"UIApplication"
3、第四个参数:代理类AppDelegate,负责控制程序的运行
网友评论