ios - NSUserDefault 不加载首选项

标签 ios objective-c xcode nsuserdefaults preferences

我有类 Prefs.m 和方法:

+ (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。但是在设置的 prefs 中,该值为 1。为什么?

最佳答案

改变这个:

int intID = [Prefs getInteger:@"prefID"];

对此:

int intID = [[Prefs getString:@"prefID"] intValue];

或者对此:

NSString *prefID = [Prefs getString:@"prefID"];

关于ios - NSUserDefault 不加载首选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20624816/

相关文章:

ios - NSException : "Terminating app due to uncaught exception ' UIApplicationInvalidInterfaceOrientation', 原因 :. ..”

ios - 如何推送具有透明背景的新 viewController?

objective-c - 在后台生成图像

iphone - 如何选择注释并将 id 传递到特定的详细信息页面?

每当我使用 Interface Builder 时,Xcode 6.1 都会崩溃

ios - 嵌入自定义容器 View Controller 时,内容位于导航栏下方。

iphone - 计算 objective-c 中两个数的差

ios - 使用 UINavigationController 在 UIPageViewController 中下推内容

ios - 设置数字格式以显示千位和小数分隔符

objective-c - swift 3 _ObjectiveCBridgeable 一致性