【问题标题】:unable to save a bool variable using NSUserDefaults无法使用 NSUserDefaults 保存布尔变量
【发布时间】:2012-02-20 15:28:36
【问题描述】:

我正在使用 XCode4.2 和开发 iPhone 应用程序

我通常使用NSUserdefaults 保存数据(主要是字符串...)

我通常写以下两行来保存数据:

historyvar=[NSUserDefaults standardUserDefaults];
[historyvar setObject:boolVar forKey:@"bool"];

我正在尝试保存一个 BOOL 变量,但执行此操作时出现红色错误:

Implicit converstion of'BOOL' (aka 'signed char') to 'id' is disallowed with ARC

我收到警告(黄色错误)

不兼容的整数到指针转换将'BOOL'(又名'signed char')发送到'id'类型的参数

对于 Bool 变量,是否有任何等效于 NSUserDefaults 的东西? 谢谢

【问题讨论】:

    标签: objective-c ios nsuserdefaults boolean


    【解决方案1】:

    NSUserDefaults 有一个 -setBool:forKey: 方法。

    [[NSUserDefaults standardUserDefaults] setBool:boolValue forKey:@"bool"];
    

    然后您将能够得到一个 实际 BOOL 值,如下所示:

    BOOL saved = [[NSUserDefaults standardUserDefaults] boolForKey:@"bool"];
    

    这样你就不必弄乱 NSNumbers 了。

    【讨论】:

      猜你喜欢
      • 2011-08-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-03
      • 2013-12-30
      相关资源
      最近更新 更多