我有一个正在保存数据的应用程序,但是当应用程序在后台被终止时,我必须删除所有保存的数据。
我尝试使用这种方法:
- (void)applicationWillTerminate:(UIApplication *)application
但它不起作用。有人可以建议我怎么做吗?
我有一个正在保存数据的应用程序,但是当应用程序在后台被终止时,我必须删除所有保存的数据。
我尝试使用这种方法:
- (void)applicationWillTerminate:(UIApplication *)application
但它不起作用。有人可以建议我怎么做吗?
不知道为什么你需要专门擦除终止时的数据,但这里有一些需要考虑的事情:
当应用程序在被迫退出时写入可能不完整的数据时,处理这种情况的另一种方法是,当已知数据良好时,它们会写出一个标志。
这样,如果应用程序正常退出,将写入数据并写入标志。
如果应用程序被强制退出,强制退出的性质不会写入标志。
然后,当应用程序启动时,它可以查找标志。如果标志不存在,则应用程序知道任何数据不完整,可以丢弃(删除)并重新开始。
希望这可以帮助。
applicationWillTerminate:
基本上永远不会被调用,你不应该再依赖它。
该应用程序在被杀死时没有得到任何回调,因此您无能为力。您需要根据实际用户需求决定采用不同的方法。这可能涉及加密/不在磁盘上保存某些数据(仅在内存中)/等等......
我知道,我迟到了,但是,如果您可以忍受数据“一直存在”直到下一次应用程序启动,您可以删除/清除application(_:didFinishLaunchingWithOptions)
.