У меня есть класс Prefs.m с методами:NSUserDefault не нагружать PREFS
+ (void) setString:(NSString *)valor chave:(NSString *)chave{
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
[prefs setObject:valor forKey:chave];
[prefs synchronize];
}
+ (NSString *) getString:(NSString *)chave{
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
NSString *valor = [prefs stringForKey:chave];
return valor;
}
И я поставил предпочтение в классе LoginController.m:
//Guarda informações do usuário no NSUserDefault
[Prefs setString:strID chave:@"prefID"];
[Prefs setString:usrNome chave:@"prefNome"];
[Prefs setString:usrEmail chave:@"prefEmail"];
Но когда я загрузить преф в класс IndicationViewController.m:
//Busca por informações do usuário se não tem o ID na prefs
int intID = [Prefs getInteger:@"prefID"];
Возвращаемое значение = 0. Но в заданных префов, значение было 1. Почему?
Похоже, вы устанавливаете строку, но получить обратно целое число. –
Как выглядит метод 'Prefs getInteger:'? Вы устанавливаете строку для ключа @ prefID и пытаетесь вытащить int. – nhgrif
Также вы можете показать, как вы устанавливаете 'strID'? – nhgrif