2017-04-06 9 views
0

NSDictionary의 모든 키 값을 NSArray 클래스로로드 할 때. 은 불완전하고있는 NSArray 클래스에 사전 jumbling (무작위로) 로딩 키 값NSArray에 NSDictionary의 모든 키가 불완전하게 무작위로로드됩니다.

- (id)initWithCoder:(NSCoder *)coder 
{ 
    self = [super initWithCoder:coder]; 
    if (self) { 
      //do sth 
     colorNameList = [[ColorModelClass colorListNames]allKeys]; 
    } 
    return self; 
} 

enter image description here

문제는 그 : 내가하지 무작위로 어떤 키의 누락 순차적 배열로 사전에서 모든 주요 부하를 기대

+1

NS 사전 키가 주문되지 않았습니다. 사전을 만드는 순간에도 키를 추가 한 순서대로 저장되지 않습니다. 자세한 내용은 다음을 참조하십시오. http://stackoverflow.com/a/22123188/4370893 – vitormm

+0

및 여기 : http://stackoverflow.com/a/2496484/4370893 – vitormm

+0

참조 http://www.cocoawithlove.com/2008/12/ ordereddictionary-subclassing-cocoa.html – Krish

답변

1

당신이 당신의 사전을 분류 한 다음 배열에 저장해야하는 경우 내 생각, 그것은하여 사전을 정렬

시도를 작동 할 수있다 벨로우즈 코드 :

keyArray = [dicWebColors allKeys]; 
keyArray = [keyArray sortedArrayUsingSelector:@selector(localizedStandardCompare:)]; 

그런 다음 데이터를 배열에 저장합니다.

감사합니다.

+0

먼저 키를 가져온 다음 배열을 정렬하십시오. 사전은 정렬 할 수 없습니다. – Willeke

+0

예, 위 코드는 동일합니다. –

+0

"사전을 정렬 한 다음 배열에 저장하십시오."다른 방법이 있습니다. – Willeke