0

我从 NSDictionary 对象创建一个数组:

 NSarray *myarray=[dictionary allValues];

但是索引处的返回数组对象不是根据字典,例如字典中的第一个对象是“title”,但在我的数组中它返回了联系号码,为什么会发生这种情况以及如何防止?

同样,当我将对象设置为我的字典时,它会弄乱队列,例如:

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

但是当我在控制台中打印出这本字典时,第一个对象变成了历史,第二个变成了年份,最后一个是标题,它是如何以及为什么会发生的?我错过了我现在应该做的关于 NSDictionay 的任何事情,以前有没有人遇到过这个问题?

4

2 回答 2

1

NSDictionary does not maintain order. The NSArray is ordered, but its data comes from the un-ordered dictionary.

See also: NSDictionary with ordered keys

于 2009-06-22T05:28:19.647 回答
0

我已经维护了 NSDictionary 的原始顺序。

感谢 matt Gallaghers 订购了字典类

于 2012-02-29T06:43:17.760 回答