在applicationWillResignActive:
结束之前调用application:didFinishLaunchingWithOptions:
的情况会发生吗?
基本上,在第一次触发application:didFinishLaunchingWithOptions:
之前,我可以依靠applicationWillResignActive
始终完成吗?
答案 0 :(得分:43)
是-application:didFinishLaunching:
-applicationWillResignActive:
有关详细信息,请参阅此图片:
答案 1 :(得分:4)
applicationWillResignActive:
被称为应用程序通过处理运行循环处理事件的一部分,在application:didFinishLaunchingWithOptions:
完成后开始。
此外,应用程序生命周期事件总是发生在主线程上,因此它们中的一个不可能先占用另一个或彼此并行运行。
答案 2 :(得分:0)
可以递归调用runloop。
application:disFinishLaunchigWithOptions:
的假设实现可以运行runloop,而runloop又允许从方法中传递通知。
以下设想的示例将让运行循环运行,但永远不会返回:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
while (YES)
[[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate distantFuture]];
}