PSMultiValueSpecifier 的默认值

2024-06-28

我有一个 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(使用前将#替换为@)

PSMultiValueSpecifier 的默认值 的相关文章

随机推荐