可以在结束applicationWillResignActive:
前调用的场景发生吗?application:didFinishLaunchingWithOptions:
基本上,我可以指望application:didFinishLaunchingWithOptions:
总是在第一次触发之前完成吗?applicationWillResignActive
可以在结束applicationWillResignActive:
前调用的场景发生吗?application:didFinishLaunchingWithOptions:
基本上,我可以指望application:didFinishLaunchingWithOptions:
总是在第一次触发之前完成吗?applicationWillResignActive
是-application:didFinishLaunching:
总是会在之前被调用-applicationWillResignActive:
有关更多详细信息,请参见此图像:
Apple 的iOS 应用程序编程指南在“应用程序状态和多任务处理”部分中指出applicationWillResignActive:
,作为应用程序处理事件的一部分,通过处理运行循环调用,该运行循环仅在application:didFinishLaunchingWithOptions:
完成后开始。
此外,应用程序生命周期事件总是发生在主线程上,因此其中一个不可能抢占另一个或彼此并行运行。
runloop 可以递归调用。
的一个假设实现application:disFinishLaunchigWithOptions:
可以运行 runloop,这反过来又允许从方法内传递通知。
以下人为设计的示例将让运行循环运行,但永远不会返回:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
while (YES)
[[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate distantFuture]];
}