처음 앱을 시작할 때 설정 번들에서 기본값을 검색하는 데 문제가 있습니다. 모든 다중 값 필드는 기본값을 올바르게 반환합니다. 모든 다중 값 필드는 NULL을 반환합니다.다중 값 유형 설정 번들 필드는 항상 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 개의 필드가 있습니다. 이 필드와 다음 2 개의 다중 값 필드는 그렇지 않습니다. 다중 값 필드는 모두 동일하게 정의됩니다.
나는 이것을 오해 할 수도 있지만 "upthreshold"는 키 자체가 아닌 키 "Key"의 값인 것처럼 보입니다. –
나는 모든 필드를 이런 식으로 설정했고, 내가 본 모든 예제에서는 "Key"를 이렇게 설정했다. 그리고 이것은 objectForKey 호출을 할 때 필드를 참조하는 방법이다. 나는 이것이 옳다고 생각한다. 그렇지 않다면 어떻게 정의하겠습니까? – mlewis54
설정 페이지를 아직 방문하지 않은 경우 항상 기본 값에 문제가있었습니다. 나는 nil을 감지하고 app에 기본값을 하드 코드하는 경향이있다. 그것은 꽤 아니지만 그것은 작동합니다 : ( – deanWombourne