我有一个iOS应用程序,我需要在应用程序HARD CLOSES之后保留一组数据(当用户双击Home按钮并向上滑动应用程序时)。然后,当应用程序返回到前台时,我需要获取该数据并对其执行某些操作。我只是不确定我需要将应用程序硬关闭和恢复应用程序的逻辑放在哪里。
答案 0 :(得分:1)
在你的AppDelegate
中当您的应用程序即将关闭但仍处于多任务菜单中时,将调用以下方法
-(void)applicationWillResignActive:(UIApplication*)application
如果3分钟后用户没有重新打开您的应用,则此方法将被称为
-(void)applicationDidEnterBackground:(UIApplication*)application
如果用户从多任务菜单重新打开您的应用程序,则会调用以下方法
-(void)applicationWillEnterForeground:(UIApplication*)application
如果用户要从多任务菜单关闭您的应用程序,此方法将被调用(此处您将只有有限的时间执行某些逻辑)
-(void)applicationWillTerminate:(UIApplication*)application
答案 1 :(得分:0)
当用户按两次applicationWillResignActive
并且applicationDidEnterBackground
被调用时。您可以在此处保存数据。
当用户打开应用程序时,会调用applicationWillEnterForeground
,您将获得保存并处理的数据。
答案 2 :(得分:0)
当用户硬关闭应用程序时,UIViewController的Delegate方法名为applicationWillTerminate
。在这里我可以捕获并保存模型数据,然后将其全部销毁。
然后,当用户再次启动应用程序时,有许多选项,如didFinishLaunchingWithOptions
,我可以抓取存储到磁盘的数据。
答案 3 :(得分:-1)
您的应用不再获得applicationWillTerminate通话。你只是在后台默默地被杀死。您必须编写应用程序以在applicationDidEnterBackground处理程序中保存状态,如nmh所述。这是你唯一的选择。