【问题标题】:Cannot set NSUserDefault ToggleSwitch Value无法设置 NSUserDefault ToggleSwitch 值
【发布时间】:2011-03-22 21:51:22
【问题描述】:

我的 IPad 应用程序中有一个表单,允许用户配置应用程序设置(他们也可以从 IPad 设置应用程序更改这些设置)。我有以下代码:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setValue:externalAddress forKey:@"firstString_preference"];
[defaults setValue:internalAddress forKey:@"secondString_perference"];
[defaults setValue:isConnectedToDemoString forKey:@"firstToggle_preference"];
[defaults setValue:isConnectedToInternal forKey:@"secondToggle_preference"];
[defaults synchronize];

firstString_preference 和 secondString_perference 是设置包中的文本字段,它们可以毫无问题地保存到设置中。我的问题是 firstToggle_preference 和 secondToggle_preference 是设置包中的切换开关,我似乎根本无法设置这些。他们似乎总是设置为否。

有谁知道我做错了什么?我应该使用不同的方法来设置切换开关的默认值吗?

提前致谢

【问题讨论】:

    标签: iphone objective-c ipad nsuserdefaults settings.bundle


    【解决方案1】:

    isConnectedToDemoStringisConnectedToInternal 是什么类型。除非是NSNumbers,否则你应该使用setBool:forKey:

    此外,虽然 setValue:forKey: 用于将对象类型存储为用户默认值,但如果您使用 NSUserDefaults-native setObject:forKey: 方法,您的代码会更清晰。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-28
      • 1970-01-01
      相关资源
      最近更新 更多