У меня проблема с получением значений по умолчанию из пакета настроек при первом запуске приложения. Все немногозначные поля возвращают значение по умолчанию правильно. Все многозначные поля возвращают NULL. Код, который я использую для получения текущего значения:
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSString *upt=[defaults objectForKey:@"upthreshold"];
Соответствующий раздел в Root.plist:
<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>
Я ожидал, что «15» вернется как текущее значение, поскольку оно установлено на значение по умолчанию. Требуется ли какая-то другая обработка для многозначных полей? Как я сказал ранее, до этого есть 6 полей, которые правильно возвращают свои значения. Это поле и следующие два многозначных поля - нет. Все многозначные поля определены одинаково.