2017-04-06 7 views
0

NSDictionaryのすべてのキーの値をNSArrayクラスにロードするとき。 その不完全とNSArrayのクラスに辞書の(ランダム)ロードキー値を相互に重なったり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

NSDictionaryキーは注文されていません。辞書を作成する瞬間にも、キーは追加した順に格納されません。その他の詳細はこちら: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

関連する問題