我需要在退出应用程序之前将一些信息写入文件。我怎么能这样做?
答案 0 :(得分:0)
在App Delegate中实施以下方法:
- (void)applicationWillTerminate:(UIApplication *)application
答案 1 :(得分:0)
假设您的应用支持多任务(并且您使用的是iOS 4或更高版本):
覆盖应用代理中的applicationDidEnterBackground
方法,并执行以下操作:
- (void)applicationDidEnterBackground:(UIApplication *)application {
bgTask = [ [UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:^{
[app endBackgroundTask:bgTask];
bgTask = UIBackgroundTaskInvalid;
}];
//do whatever writing you like
if (bgTask != UIBackgroundTaskInvalid) {
[[UIApplication sharedApplication] endBackgroundTask:bgTask];
bgTask = UIBackgroundTaskInvalid;
}
}
答案 2 :(得分:0)
从Apple开发者网站上的Preserving the State of Your Application’s User Interface开始。阅读方法applicationDidEnterBackground:
及其相关方法,如applicationWillResignActive
等。实现任何这些应用程序委托方法时要记住的一件事是你没有很多时间去做东西
避免在应用程序正在后台或退出时尝试写出某些数据的竞争条件的一种方法是在应用程序正常运行期间更改时将其写出来。然后,它总是正确的“在磁盘上。”