0

NSDictionary オブジェクトから配列を作成します。

 NSarray *myarray=[dictionary allValues];

ただし、インデックスの戻り配列オブジェクトは辞書に従っていません。たとえば、辞書の最初のオブジェクトは「タイトル」でしたが、配列では連絡先番号が返されました。なぜこれが起こったのか、どのように防ぐのですか?

また、オブジェクトを Dictionary に設定すると、たとえばキューが台無しになります。

[item setObject:@"title" forKey:@"title"];
[item setObject:@"1997" forKey:@"year"];
[item setObject:@"history" forKey:@"summary"];

しかし、コンソールでこの辞書を印刷したとき、最初のオブジェクトは履歴になり、2 番目は年になり、最後はタイトルになりました。どのように、なぜそれが起こる可能性がありますか? ?

4

2 に答える 2

1

NSDictionaryは順序を維持しません。NSArray順序付けられていますが、そのデータは順序付けされていない辞書から取得されます。

参照:順序付けされたキーを持つNSDictionary

于 2009-06-22T05:28:19.647 に答える
0

NSDictionaryの元の順序を維持しました。

マットギャラガーのおかげで注文しました辞書クラス

于 2012-02-29T06:43:17.760 に答える