2017-10-31 7 views
0

순서 문제로 개체를 추가 NSMutableDictionary하지만 다음 NSMutableDictionary 모든 키를 인쇄 할 때 출력여기에 사전</p> <pre><code>New, To Do, Basic, Advanced, In Progress, Done </code></pre> <p>의 핵심은 내가 키 에 의해 NSMutableDictionary에 순서를 추가

Advanced, 
In Progress, 
To Do, 
New, 
Done, 
Basic 

모든 솔루션 달랐다 이거?

+0

인덱스가 아닌 키를 사용하여 요소에 액세스/설정하므로 사전에서 순서가 보장되지 않습니다. – Larme

+0

예, 우리는이 문제를 해결할 준비가되어 있지 않다는 것을 알고 있습니다. 다른 해결책이 있으면 알려 주시기 바랍니다. – Vivek

+0

배열을 사용 하시겠습니까? 무엇을 저장/정확히하고 싶니? 목적은 무엇입니까? – Larme

답변

0

사전은 순서가 지정되지 않은 모음입니다. 항목의 순서는 보장되지 않으며 보존되지 않습니다. 사전에서 개체를 가져 오는 순서에 대해 어떤 가정도하지 마십시오. 명시되지 않고 변경 될 수 있습니다.

주문한 컬렉션이 필요한 경우 단일 요소 사전의 배열이나 키 및 값 속성이있는 사용자 지정 개체의 배열을 사용해보십시오.

0

는 다음을 시도하거나 당신은 당신이 같은 key-valueArray 사용할 수있는 Dictionary

내부 요소의 위치에 대해 걱정하는 경우 자신의 데이터 구조를 가지고 올 수 ->[[String : AnyObject]]. 모양 : [["New" : 1],["In Progress" : 3],...]

또한이 같은 Arraykeyvalue의 튜플을 사용할 수 있습니다 ->[(key,value)]처럼 보이는 :이 배열의 키를 얻을 수 [("New" , 1),("In Progress" , 3),...]

0

시도를

NSArray *orderedArr = [[dict allKeys] sortedArrayUsingSelector:@selector(localizedStandardCompare:)];