我有一个 iPhone 应用程序,我在其中定义了一个具有以下设置的 Settings.bundle:
<dict>
<key>DefaultValue</key>
<integer>2</integer>
<key>Key</key>
<string>calculationMethod</string>
<key>Title</key>
<string>CALCULATION_METHOD</string>
<key>Titles</key>
<array>
<string>Method A</string>
<string>Method B</string>
<string>Method C</string>
<string>Method D</string>
<string>Method E</string>
<string>Method F</string>
<string>Method G</string>
</array>
<key>Type</key>
<string>PSMultiValueSpecifier</string>
<key>Values</key>
<array>
<integer>3</integer>
<integer>2</integer>
<integer>5</integer>
<integer>4</integer>
<integer>1</integer>
<integer>6</integer>
<integer>0</integer>
</array>
</dict>
正如您所看到的,我希望默认选择“方法 B”,我通过设置 DefaultValue 来定义它。然而,这只是选择了列表中的“方法B”,但实际返回的值为0,对应的是“方法G”。
我在这里忘记了什么,还是这根本不是 DefaultValue 的工作方式?
附言。当我将选择更改为其他内容然后返回“方法 B”后,我得到了正确的值。
不清楚你的意思[settings integerForKey:@"calculationMethod"]
. If settings
是一个实例NSUserDefaults
,您所看到的确实是预期的行为。 Settings.bundle 中的默认值仅控制“设置”应用程序中为您的应用程序显示的内容。它们对您加载的首选项完全没有影响NSUserDefaults
当您的应用程序运行时。
要将相同的默认值添加到用户默认值中,您必须创建第二个包含键 (@"calculationMethod"
)及其在字典中的默认值。当您的应用程序启动时,打开此 plist 文件并将其传递给-[NSUserDefaults registerDefaults:]
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)