1

私のアプリでは、NSUserDefaultsオブジェクトを使用して、組み込みの設定アプリにユーザー名、パスワード、サーバーのURLを保存しています。保存されたデータがない場合、ユーザーにはログインインターフェイスが表示され、ログインに成功すると、ユーザー名とパスワードが保存されます。次に、私のアプリでは、この情報を表示するビューがありますが、データがまだ設定に保存されていないかのようにテキストが欠落しています。コードは次のとおりです。

...
NSUserDefaults* appSettings = [NSUserDefaults standardUserDefaults];
[appSettings setObject:username forKey:USERNAME];
[appSettings setObject:password forKey:PASSWORD];

if ( [appSettings synchronize] ) {

   // display an alert with a positive message
} else {
   // display an alert with a negative message

}

したがって、ログインすると肯定的なメッセージが表示されますが、データを再度フェッチすると、アプリを再起動しない限り、そこには何も表示されません。

データをすぐに保存するために、または少なくとも別のView Controllerが設定を読み取る必要がある前に、何をする必要がありますか?

4

1 に答える 1

2

NSUserDefaultsオブジェクトは、そのデータをメモリに格納し、グローバルオブジェクトです(とにかく、アプリケーションにとって)。したがって、そこに保存したものはすべて、後でアクセスしようとするものすべてがすぐに利用できるようになります。ここで同期を呼び出す必要はありません。データを取得していない場合は、呼び出しの順序をチェックして、呼び出しられていると思われるときに呼び出されていることを確認する必要があります。

于 2010-01-25T21:14:50.940 に答える