0

アプリケーションが終了したときにユーザーをログアウトしようとしています (この特定のケースでは、ユーザー データが頻繁に変更されないため、バックグラウンドに移行するときにログアウトする必要はありません)。

だからここに私のコードがあります:

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

最初にそのようにユーザーをログアウトしようとしましたが、うまくいきませんでした:

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

何か案は?

4

1 に答える 1

0

デフォルトをすぐに更新したい場合は、更新後に同期する必要があります。

[[NSUserDefaults standardUserDefaults] synchronize];

ドキュメントに記載されているように (ドキュメントを参照してください)、NSUserDefaultsクラスはディスクへの変更をすぐに保持するのではなく、たまにしか保持しません。

于 2013-01-28T16:00:10.663 に答える