当我的应用程序在后台被杀死时,我正在尝试设置用户默认值,除非应用程序打开然后后台杀死它,否则此代码不起作用,如果应用程序关闭它不起作用。有什么办法吗?我需要这样做,以便如果应用程序在完全被杀死后重新加载,它将执行以下操作,但如果放入后台并重新加载,它不会做任何事情。
- (void)applicationWillTerminate:(UIApplication *)application {
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
[userDefaults setObject:@"KILLED" forKey:@"grabngostoreselected"];
[userDefaults removeObjectForKey:@"grabngocartid"];
[userDefaults removeObjectForKey:@"grabngocartq"];
}
有时不是NSUserDefaults
默认情况下不synchronize
,因此您需要强制synchronize
NSUserDefaults
[defaults synchronize];
欲了解更多信息,请参阅此处
并请参考申请遗嘱终止信息