在应用程序上保存bool到NSdefaults将终止无法正常工作

时间:2013-01-28 15:35:59

标签: nsuserdefaults

我试图在应用程序终止时注销用户(因为在这种特殊情况下,用户数据不会经常更改,因此在进入后台时无需注销)。

所以这是我的代码:

    - (void)applicationWillTerminate:(UIApplication *)application
   {
        User *user = [[User alloc]init];
        [user logout];
   }

我首先尝试将用户注销,但它不起作用:

   - (void)applicationWillTerminate:(UIApplication *)application
  {
     [[NSUserDefaults standardUserDefaults] setBool:NO forKey:@"logged_in"];
  }

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

如果您希望立即更新默认值,则应在更新后同步:

[[NSUserDefaults standardUserDefaults] synchronize];

正如文档所记录的那样(khm,请查找文档),NSUserDefaults类不会立即将更改保留在磁盘上,只会暂时保留一次。