iOS开发bug以及解决方案

iOS 应用启动过程分析(一)

2018-01-29  本文已影响6人  AT19

1.进入应用时调用main函数

//正文
int main(int argc, char * argv[]) {
    @autoreleasepool {
        return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
    }
}
//进入  UIApplicationMain方法后:

// If nil is specified for principalClassName, the value for NSPrincipalClass from the Info.plist is used. If there is no
// NSPrincipalClass key specified, the UIApplication class is used. The delegate class will be instantiated using init.
UIKIT_EXTERN int UIApplicationMain(int argc, char * _Nonnull * _Null_unspecified argv, NSString * _Nullable principalClassName, NSString * _Nullable delegateClassName);

// 如果为principalClassName指定了nil,则使用Info.plist中的NSPrincipalClass值。 如果没有指定NSPrincipalClass键,则使用UIApplication类。 委托类将使用init实例化。


2.以上则表明进入main函数后将使用Application类 并创建Application的Delegate对象 。

上一篇 下一篇

猜你喜欢

热点阅读