2011-11-21 45 views
3

如何才能按输入的顺序输出字典的值。按照输入的顺序排列字典的值,如何输入

例子:

我输入:

[dicValue0 setObject:@"Start Date & Time" forKey:@"START_DATETIME"]; 
    [dicValue0 setObject:@"Specify End" forKey:@"SPECIFY_END"]; 
    [dicValue0 setObject:@"End Date & Time" forKey:@"END_DATETIME"]; 
    [dicValue0 setObject:@"Open End" forKey:@"END_OPEN"]; 

输出:

  • 开始日期&时间
  • 结束日期&时间
  • 指定最终
  • 开放式结束

我知道dictionary works怎么样,但我想要输出的顺序与输入相同!

我可以编写一个循环,以输入的顺序对输出进行排序。但是,如果我有10000多个值不是最好的和高性能的方式。 有什么来自苹果,这有助于我解决这个问题?

+2

NSDictionary是无序的。您必须通过任何索引/值自行订购输出。 – Till

回答

3

我敢肯定,词典都没有跟踪输入顺序的。你如何输出字典,循环键或只是打印字典?

如果你知道你想要检索对象的顺序,你可以通过创建自己的键数组和循环的版本拔出从字典中的对象在你需要的顺序

5

您应该创建一个数组来跟踪插入的键的顺序,然后遍历该数组以将值从字典中提取出来。在Foundation中没有内置的方法来创建有序的字典。

相关问题