Objective c iOS应用程序何时到达main()的末尾?

Objective c iOS应用程序何时到达main()的末尾?,objective-c,uikit,Objective C,Uikit,我不熟悉Objective-C。我们知道所有Objective-C程序都是从main方法开始的。一段时间后,它应该会结束,但iOS应用程序即使达到该方法的末尾,也会继续运行。您能解释一下吗?调用UIApplicationMain的行设置了一个循环,该循环将继续为整个应用程序运行。所以基本上,它在主循环的中间,整个应用程序运行的时间。只有当系统告诉它退出或应用程序崩溃时,它才会退出。如果您希望响应应用程序退出等更改,则应实现应用程序委托方法。重申一下,在为iOS编程时,很少需要修改main.m文件

我不熟悉Objective-C。我们知道所有Objective-C程序都是从
main
方法开始的。一段时间后,它应该会结束,但iOS应用程序即使达到该方法的末尾,也会继续运行。您能解释一下吗?

调用UIApplicationMain的行设置了一个循环,该循环将继续为整个应用程序运行。所以基本上,它在主循环的中间,整个应用程序运行的时间。只有当系统告诉它退出或应用程序崩溃时,它才会退出。如果您希望响应应用程序退出等更改,则应实现应用程序委托方法。重申一下,在为iOS编程时,很少需要修改main.m文件

调用UIApplicationMain的行设置了一个循环,继续为整个应用程序运行。所以基本上,它在主循环的中间,整个应用程序运行的时间。只有当系统告诉它退出或应用程序崩溃时,它才会退出。如果您希望响应应用程序退出等更改,则应实现应用程序委托方法。重申一下,在为iOS编程时,很少需要修改main.m文件

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

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

运行循环处理传入事件(按钮按下、鼠标移动、计时器、网络活动等)。此循环从不终止。应用程序的终止方式是由操作系统或从调用应用程序的任何位置终止应用程序的
exit()
在iOS中运行,因为操作系统应始终在后台处理应用程序终止。

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

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

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

从技术上讲,永远不会到达主函数的结尾。退出应用程序循环的唯一方法是终止应用程序。从中可以看到:“即使指定了整数返回类型,此函数也不会返回。”@伯格奎斯特:谢谢你的回复。现在我了解了背后的概念。博尔登和塞巴斯蒂安是正确的,我相应地更新了我的答案。从技术上讲,主函数的结尾永远不会到达。退出应用程序循环的唯一方法是终止应用程序。从:“即使指定了整数返回类型,此函数也不会返回。”@BergQuester:谢谢你的回答。现在我了解了背后的概念。Borrden和Sebastian是正确的,我相应地更新了我的答案。