2013-05-08 2 views
19

앱의 내 설정 번들에 다중 값 설정 (위치)이 정의되어 있습니다.
제목은 긴 제목 (예 : "런던")으로 정의되고 해당 값 부분은 "1"로 정의됩니다.설정에서 다중 값 제목 및 값을 사용하는 방법 번들

[편집]

나는 다중 값 설정에 대한 자세한 정보를 추가 할이 질문에 확장하려면 : 나는 항목 0으로 런던의 제목을 검색하려면 어떻게

this is a screenshot of the multi value setting

을 위에서 objectForKey 또는 valueForKey를 검색 할 때 항상 1을 얻습니다. 응용 프로그램의 레이블에있는 제목에서 "LONDON"문자열을 표시하지만 코어 데이터에 값 1을 사용하고 싶습니다. 참고 : 앱이 실행되기 전에 값을 설정 했으므로 값을 반환하지만 제목에 액세스 할 수없는 것처럼 값은 항상 1입니다.

+0

설정을 가져 오는 방법을 알고 있습니다. 위의 예제에서 값과 다른 Title을 표시하는 방법을 알고 싶습니다. objectForKey 위의 예제를 사용할 때 @ "locSetting"은 LDN을 반환합니다. valueForKey : @ "locSetting"을 사용하면 LDN이 반환됩니다. 그러나 "London"으로 설정된 settings.bundle의 다중 값 설정에 Title이 있습니다. – motionpotion

+0

@ H2CO3 Google이 다운되지 않았습니다.귀하의 대답은 나의 특정한 시나리오에 대한 답변이 아닙니다. 그러나 응답 해 주셔서 감사합니다. – motionpotion

+0

기본값은 인덱스 위치가 아니라 값 – jomafer

답변

7

"기본값"값을 "1"로 설정해야합니다. "값"목록에서 0 항목 만 선택하십시오.

+0

입니다. 감사합니다. –

+0

"기본값"을 이미 설정했습니다. 텍스트 값을 표시하고 해당 텍스트 값의 값을 핵심 데이터에 넣으려고합니다. Title = "LONDON"은 접근 가능하지 않은 것 같습니다. – motionpotion

+0

이 대답은 아니오와 관련이 없습니다. – Tamil

3

다중 값으로 위치 설정은 NSDictionary입니다. 따라서 다음을 수행하십시오.

NSDictionary *location = [[NSUserDefaults standardUserDefaults] valueForKey:@"locationSettings"]; 

NSString *value = (NSString *)location; 

문자열을 반환한다는 것을 알고 있기 때문에 위치 값을 NSString으로 캐스트하십시오.

그런 다음 결과를 문자열로 처리 할 수 ​​있습니다. 반환 된 "value"변수는 value 섹션에 쓰여진 것이 든든 상관 없습니다. 귀하의 경우, "London"을 선택하면 "1"값이 문자열 형태로 되돌아옵니다.

0

귀하의 질문에 대한 이해가 정확하다면 사용자가 선택한 값에 대한 위치 사전의 키 입력을받는 방법을 묻는 것입니다.

사전에는 이러한 단일 사용 방법이 없습니다.

NSDictionary *location = [[NSUserDefaults standardUserDefaults] valueForKey:@"locationSettings"]; 
NSArray *keys = [location allKeys]; 
NSString *locationIdentifier = [keys objectForIndex:[location valueForKey:@"LONDON"]]; 

이것은 "LONDON" 문자열 초래은 locationIdentifier 변수에 저장되고 : 하지만 아래와 allKeys 조작을 통해 같은 결과를 달성하는 방법이있다. 그래서 마지막 줄, 문자열의 할당은 아마도 objectForIndex:0 대신에 변경 될 수 있지만 그 전에는 시도하지 않은 것이므로 확실하지 않습니다.

3

나는 유사한 상황에 빠져 누군가에게 도움이 될 것이라고 대답했다.

사용자가 런던의 설정에서 런던을 선택하면 기본값이 1이됩니다. locationSetting에 대한 설정 번들을 읽을 때 런던이 아닌 1이라는 값을 얻지 만 "런던"을 원한다면 귀하의 코드보다는 1. 당신의 plist의 현재 구조로 불가능합니다. 기본 값을 문자열 대신 사전으로 만든 다음 해당 사전에 제목과 값을 둘 다 가질 수 있습니다. 그런 다음 선택한 값의 텍스트를 검색 할 수 있습니다.

관련 문제