IOS的onDestroy()等价物

时间:2017-08-07 14:19:21

标签: ios swift ondestroy

我正在寻找一个像android中的onDestroy()一样的快速方法。我希望在按下主页按钮时不调用它,只应在应用程序完全退出时调用它。我尝试使用deinit方法,但从未调用过。

4 个答案:

答案 0 :(得分:0)

iOS环境中的合适等效内容为applicationWillTerminate(_:)内的AppDelegate

请记住,这里的异步操作无法正常执行

答案 1 :(得分:0)

如果用户按下主页按钮并转到手机屏幕菜单,则应用程序处于后台状态。这个函数将被调用:

optional func applicationDidEnterBackground(_ application: UIApplication)

如果用户通过双击主页按钮并向上滑动应用程序来终止应用程序,或者将应用程序置于bacground中超过3分钟,则会调用此方法:

optional func applicationWillTerminate(_ application: UIApplication)

这两个函数已经存在于AppDelegate类中。

希望这有帮助!

答案 2 :(得分:0)

iOS等价物不存在。 你可以使用

optional func applicationWillResignActive(_ application: UIApplication)

当应用程序离开前台状态时调用它。

optional func applicationWillTerminate(_ application: UIApplication)

只有在应用程序运行时才调用此一个,即在大多数情况下,当应用程序处于后台时,它将不会被调用,除非它具有特殊权限。

当应用程序终止时,将不会调用

deinit,因为它的目的是在销毁对象以释放内存时执行。当应用程序终止时,整个进程在其内存堆栈中被破坏,因此释放内存毫无意义。

答案 3 :(得分:0)

iOS中曾经有过viewDidUnload方法,但自iOS 6以来它已被弃用。 另一种选择,因为很多人提到applicationWillTerminate,你可以注册UIApplicationWillTerminate通知,将它与一个函数相关联,并在该函数中做任何你想做的事情,比如清理等等。