NSUserDefaults有时会保存详细信息,而不是其他时间

时间:2014-08-10 13:52:36

标签: ios exception-handling nsuserdefaults crash

我使用NSUserDefaults在本地保存一些数据。但问题是它不会一直保存数据。

例如:

当应用程序崩溃时,我使用NSUserDefaults保存与execption相关的信息

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
  NSSetUncaughtExceptionHandler(&onUncaughtException);

}

void onUncaughtException(NSException* exception)
{
 //save exception related details using NSuserdefaults
}

1 个答案:

答案 0 :(得分:3)

问题是你在崩溃时必须synchronize然后NSUserDefaults。因为你没有这样做,所以异常细节消失了

在应用终止时调用synchronize方法:

- (void)applicationWillTerminate:(UIApplication *)application
{
       [[NSUserDefaults standardUserDefaults] synchronize];
}