【问题标题】:NSUserDefaults - getting null for all valuesNSUserDefaults - 所有值都为空
【发布时间】:2010-09-16 18:12:52
【问题描述】:

设置包应该是一个非常简单的东西,但由于某种原因我没有让它工作。

在我的设置包的 Root.plist 中,我使用了 PSToggleSwitchSpecifierPSTextFieldSpecifier。两者都有类型、标题、键和默认值。当在 iPod Touch(和模拟器)的设置中查看它时,它会正确显示。但我无法检索这些值。他们刚回来NULL

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
self.websiteURL = [defaults stringForKey:@"myBaseURL"];

我让它显示任何值的唯一方法是进入设置并将值更改为默认值以外的值。然后当我回到应用程序时,它会正常工作。我该如何设置它,所以它根本不需要打开设置?

【问题讨论】:

    标签: iphone nsuserdefaults


    【解决方案1】:

    试试this

    我认为,在用户设置它之前,为用户默认返回 nil 是默认行为。您需要[defaults registerDefaults:]; 才能显示“默认”值。

    【讨论】:

    【解决方案2】:

    如果有人正在寻找注册默认用户设置的解决方案,您可以通过here 进行查看,这对我来说非常有效。

    【讨论】:

      【解决方案3】:

      您可以将 DefaultValue 的键添加到所需键的 plist 中,并将其设置为您喜欢的任何值(只要它符合您为键指定的类型)

      【讨论】:

      • 这很奇怪,我确实有两个 DefaultValue。
      • 哦,对不起,我必须在这里略过这部分问题。见@stephens 回答:)
      猜你喜欢
      • 2014-11-28
      • 1970-01-01
      • 1970-01-01
      • 2021-07-13
      • 2022-01-09
      • 1970-01-01
      • 2020-02-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多