Existe um método em NSUserDefaults
chamado registerDefaults:
. Você usa este método para definir os "padrões padrão" do seu aplicativo. Basicamente, você cria um NSDictionary
contendo suas chaves e valores padrão (no seu caso, um NÃO para uma chave de "credenciais salvas") e o registra usando registerDefaults:
. Isso geralmente é feito no + (void)initialize
método do delegado do aplicativo para garantir que seus padrões sejam registrados antes de serem necessários. Esses valores são usados apenas se seu aplicativo não os substituiu. Em outras palavras, eles não serão usados a menos que a chave que você está procurando não esteja no Domínio do Aplicativo, ou seja, os padrões do usuário lidos do arquivo .plist do usuário.
Por outro lado, você pode apenas verificar as credenciais de login e exibir um alerta se elas estiverem faltando. Isso elimina a necessidade de manter seu valor booleano sincronizado com as credenciais de login. Se você fornecer posteriormente um recurso de "excluir credenciais de login", não precisará se lembrar de definir o booleano de volta para NÃO. Se suas credenciais de login forem salvas nos padrões do usuário, você faria o seguinte:
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
}