2014-01-15 1 views
0

plist에서 읽는 데 문제가 있습니다. 생각할 수 없습니다. 이 (내가 예제 위해 그것을 단순화했습니다 참고)처럼iOS - plist에서 읽는 문제

내 PLIST 목록이 보이는이 같은

enter image description here 그럼 내가 읽고 있어요 코드 :

NSString *path = [[NSBundle mainBundle] pathForResource:@"ContactDetails" ofType:@"plist"]; 
NSMutableDictionary *myDictionary = [[NSMutableDictionary alloc] initWithContentsOfFile:path]; 
NSArray* allmyKeys = [myDictionary allKeysForObject:@"Name1"]; 

어떤 아이디어 - 내가 계속 직면하고있는 문제는 allmyKeys가 0 개의 개체를 포함하고있는 것으로 나타납니다. 디버깅시 myDictionary가 올바르게 채워져서 왜 작동하지 않는지 확신 할 수 없습니다.

많은 감사

+0

죄송합니다 그 이름 1을 수행하여 사전에 액세스하려면 - 난 그냥 설명에 잘못 쓴 것 - 수정했다. – userMod2

+0

그리고 무엇을 찾으려고합니까? '@ "Name1"'에 대해 모든 키 ('@ "Address1"','@ "Address2"'등)를 원한다면'[dictionary [@ "Name1"] allKeys]'가 될 것입니다. 또는'@ "Name1"'키와 연관된 전체 사전 객체를 찾고 있다면'dictionary [@ "Name1"]'이 될 것입니다. '[myDictionary allKeysForObject : @ "Name1"]'은'@ "Name1"과 일치하는 값을 찾고, @ "Name1"과 일치하는 키는 찾지 않습니다. – Rob

답변

1

문제는이 라인이다 :

NSArray* allmyKeys = [myDictionary allKeysForObject:@"Name1"]; 

@"Name1" 당신의 사전에서 이 아닌 값입니다. 값이더라도 문자열 @"Name1"myDictionary에 같은 값을 가진 문자열과 다른 개체이므로이 호출은 예상 한대로 수행되지 않습니다.

당신은 아마

NSDictionary *userDetails = myDictionary[@"Name1"];