我已将一些值加载到我的应用程序的本地文档中。当应用程序运行时,应用程序会写入 50 条记录。
现在,当用户强制关闭应用程序并再次启动时:文件只写入新记录 50+现有 50。
如何处理这个问题?
如果您的应用程序被完全强制退出,则您没有机会写出额外的数据。不再运行您的代码。
如果您正在谈论当您的应用程序在后台并且操作系统想要释放内存时发生的强制退出,您必须在您的应用程序委托中实现回调(您也可以使用通知,但让我们保持简单)并观察何时操作系统将您的应用程序置于后台。此时,将数据写入磁盘:
@implementaton MyAppDelegate
- (void)applicationDidEnterBackground: (UIApplication *)application {
[myDatabase commit];
[myFiles save];
[myWhatever doWhatever];
// etc.
}
@end