我正在寻找一个像android中的onDestroy()一样的快速方法。我希望在按下主页按钮时不调用它,只应在应用程序完全退出时调用它。我尝试使用deinit方法,但从未调用过。
答案 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通知,将它与一个函数相关联,并在该函数中做任何你想做的事情,比如清理等等。