2014-11-15 1 views
-1

저는 현재 컴퓨터에서 멀리 떨어져 있지만 브레인 웨이브를 가지고 있습니다. 내 테이블 뷰에 대해 -z 인덱스에 대해 노력하고 있습니다. 내 plist가 배열로 읽혀집니다 - 사전 배열도 마찬가지입니다. 각 사전은 단어와 정의라는 두 개의 키가있는 셀을 나타냅니다. 나는 '첫 글자'라는 단어를 확인하고, 유일하다면 열쇠로 놓고 그 편지에 해당하는 didaries를 추가 할 필요가있다. 나는이 코드를 가지고있다. 배열의 각 사전을 반복하고 각 사전의 단어 키에 액세스하려면 어떻게해야합니까? 수 I :nsdictionaries의 nsarray를 처리하는 중첩 for 루프

for (nsdictionary *dict in plistContentsArray){ 
    for (NSString *key in dict){ 
     NSstring *key = [dict objectforkey: @"Word"]; 
     \\code for sections 
     Then use addobject:dict }} 

이 끔찍한 코드 만약 내가 사과 - 초보자가되는 기쁨. 코드 분할 계획이 있지만 배열의 각 개별 사전에 액세스하는 방법을 모르고 하나의 키 (단어)에 대해서만 섹션 코드를 사용하지만 섹션 배열에 전체 사전 개체를 추가하므로 정의를 사용할 수 있습니다. 자세히보기 키.

고맙습니다.

답변

1

중첩 루프가 필요하지 않습니다. 사전 배열이 있고 사전의 특정 키 값을 원합니다. 그냥 할 : (DICT에있는 NSString * 키) {에에

에 대한

for (NSDictionary *dict in plistContentsArray) { 
    NSString *word = dict[@"Word"]; 
    // code for sections 
} 
+0

감사합니다. 내일이면 연결 해드립니다. 나는 그것을 복잡하게 생각했다. addObject를 사용할 수 있다고 생각하는 것이 맞습니까? dict? – user3692490

+0

이 코드는 각 사전의 키 "Word"에 대한 개체 만 제공합니다. –

+0

@NickWilkerson OP가 요구 한 것은 무엇입니까. 참고 - 나는 당신의 대답에 투표하지 않았습니다. – rmaddy

-1

변화 (있는 NSString가 * 키 [DICT의해서 AllKeys]) {

것은 당신이 단지의 NSArray를 원하는 경우 모든 키

NSMutableArray *keys = [[NSMutableArray alloc] init]; 

for (NSDictionary *dict in plistContentsArray){ 
    [keys addObjectsFromArray:[dict allKeys]]; 
} 
+0

각 사전의 키를 반복 할 필요가 없습니다. – rmaddy