【问题标题】:Can't get value for PSTitleValueSpecifier无法获得 PSTitleValueSpecifier 的值
【发布时间】:2012-10-26 07:59:33
【问题描述】:

我试图在我的代码中从 Settings.bundle->Root.plist 获取/设置值:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSString *val = [defaults objectForKey:@"NUMBER"];

但 val 为零。我的代码都正确吗?

这是我的 Root.plist

       <dict>
        <key>Type</key>
        <string>PSTitleValueSpecifier</string>
        <key>Title</key>
        <string>MyTitle</string>
        <key>Key</key>
        <string>NUMBER</string>
        <key>DefaultValue</key>
        <string>SavedNumbers</string>
        <key>Values</key>
        <array>
            <string>SavedNumbers</string>
        </array>
        <key>Titles</key>
        <array>
            <string>5</string>
        </array>
    </dict>

【问题讨论】:

  • [默认 objectForKey:@"NUMBER"];其中“NUMBER”是一个值而不是键

标签: objective-c ios settings


【解决方案1】:

在标签中指定键,下面的相应标签是值(它可以是任何等)。

所以当您调用 objectForKey: 时,您需要传递值,以便它将返回该键的对象。

但在您的情况下,您传递的是值“NUMBER”而不是键。

字典由键值对组成。

如果你需要你需要使用的对象的所有键

- (NSArray *)allKeysForObject:(id)anObject

【讨论】:

  • 我需要从以下位置获取/设置值:5
  • 来自关于 Key 的文档 NUMBER Key (required) String 标识值的首选项键。这是您用来从默认数据库中检索首选项值的字符串。此密钥是必需的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-06
  • 2018-01-04
相关资源
最近更新 更多