Mehrwertigen Einstellungen der bundle-Felder immer null zurück

Ich habe ein problem beim abrufen default-Werte aus dem settings-bundle beim ersten starten einer App. Alle nicht-mehrwertige Felder zurück der Standardwert richtig. Alle mehrwertigen Feldern NULL zurück. Der code, den ich verwende zum abrufen des aktuellen Werts:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSString *upt=[defaults objectForKey:@"upthreshold"];

Den entsprechenden Abschnitt von der Wurzel.plist ist:

                <dict>
                    <key>Title</key>
                    <string>Update Threshold</string>
                    <key>Type</key>
                    <string>PSMultiValueSpecifier</string>
                    <key>Key</key>
                    <string>upthreshold</string>
                    <key>DefaultValue</key>
                    <string>15</string>
                    <key>Titles</key>
                    <array>
                            <string>2 km</string>
                            <string>5 km</string>
                            <string>10 km</string>
                            <string>15 km</string>
                            <string>25 km</string>
                            <string>50 km</string>
                            <string>75 km</string>
                            <string>100 km</string>
                            <string>150 km</string>
                            <string>250 km</string>
                            <string>500 km</string>
                            <string>1000 km</string>
                    </array>
                    <key>Values</key>
                    <array>
                            <string>2</string>
                            <string>5</string>
                            <string>10</string>
                            <string>15</string>
                            <string>25</string>
                            <string>50</string>
                            <string>75</string>
                            <string>100</string>
                            <string>150</string>
                            <string>250</string>
                            <string>500</string>
                            <string>1000</string>
                    </array>
            </dict>

Ich würde erwarten, dass die "15" zurückkommen würde, als der aktuelle Wert, wie es ist auf den Standardwert eingestellt. Gibt es eine unterschiedliche Bearbeitung erforderlich, für die Mehrwertigen Felder? Wie ich schon sagte, es gibt 6 Felder vor, die Rückgabe Ihrer Werte korrekt. Dieses Feld und die folgenden 2 Mehrwertige Felder nicht. Die mehrwertigen Felder sind alle identisch definiert.

  • Ich konnte dieses Missverständnis, aber es sieht aus wie "upthreshold" ist ein Wert für den Schlüssel "Key", nicht die Schlüssel selbst.
  • Ich habe alle setup-Felder auf diese Weise, und jedes Beispiel, das ich gesehen habe, legt den "Schlüssel" auf diese Weise und das ist die Art und Weise Sie beziehen sich auf das Feld, wenn Sie eine objectForKey nennen. Ich denke, das ist Recht. Wenn nicht, wie würden Sie es definieren?
  • Ich hatte schon immer Probleme mit der default-Werte, falls die Einstellungen-Seite wurde noch nicht besucht haben, noch. Ich Neige dazu, zu erkennen, null und fest ein Standard in der app. Es ist nicht schön aber es funktioniert 🙁
InformationsquelleAutor mlewis54 | 2011-01-24
Schreibe einen Kommentar