NSUserDefaults
と呼ばれるメソッドがありregisterDefaults:
ます。このメソッドを使用して、アプリケーションの「デフォルトのデフォルト」を設定します。基本的に、NSDictionary
デフォルトのキーと値(この場合は「保存された資格情報」キーのNO)を含むを作成し、を使用して登録しregisterDefaults:
ます。これは、アプリデリゲートの+ (void)initialize
メソッドで頻繁に行われ、デフォルトが必要になる前にデフォルトが登録されるようにします。これらの値は、アプリで置き換えられていない場合にのみ使用されます。つまり、探しているキーがアプリケーションドメインにない限り、つまりユーザーのデフォルトがユーザーの.plistファイルから読み取られない限り、それらは使用されません。
一方、ログイン資格情報を確認し、欠落している場合はアラートをポップアップすることもできます。これにより、ブール値をログイン資格情報と同期させる必要がなくなります。後で「ログイン資格情報の削除」機能を提供する場合、ブール値をNOに戻すことを覚えておく必要はありません。ログイン認証情報がユーザーのデフォルトで保存されている場合は、次のようにします。
NSString *userID = [[NSUserDefaults standardUserDefaults] stringForKey:@"userID"];
NSString *password = [[NSUserDefaults standardUserDefaults] stringForKey:@"password"];
if (userID != nil && password != nil) {
// Code to log user in
} else {
// Code to pop up an alert
}