iOS应用何时到达main()的末尾?

时间:2013-08-20 02:13:47

标签: objective-c uikit

我是Objective-C的新手。我们知道所有Objective-C程序都以main方法开头。然后它应该在一段时间后结束,但iOS应用程序即使在它们到达该方法的末尾时也会继续运行。你能解释一下吗?

2 个答案:

答案 0 :(得分:4)

这是因为运行此行时会创建一个运行循环:

    int retVal = UIApplicationMain(argc, argv, nil, nil);

运行循环处理传入事件(按下按钮,鼠标移动,定时器,网络活动等。此循环永远不会终止。应用程序终止的方式是由操作系统或exit()函数终止来自任何地方的应用程序。你不应该在iOS中调用exit()函数,因为操作系统应该始终在后台处理应用程序终止。

答案 1 :(得分:0)

调用UIApplicationMain的行设置一个循环,继续为整个应用程序运行。所以基本上,它在应用程序运行的整个时间位于主循环的中间。它退出的唯一时间是系统告诉它退出或应用程序崩溃。如果要响应应用程序退出等更改,则应实现Application Delegate方法。重申一下,在为iOS编程时,您将不得不修改main.m文件。