像输入一样订购NSMutableDictionary的输出

myb*_*cks 3 xcode objective-c nsdictionary ios

如何按输入顺序输出字典的值是可能的.

例:

我的意见:

    [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"];
Run Code Online (Sandbox Code Playgroud)

输出:

  • 开始日期和时间
  • 结束日期和时间
  • 指定结束
  • 开口端

我知道字典是如何工作的,但我希望输出与输入的顺序相同!

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

Dan*_*son 5

您应该创建一个数组来跟踪插入的键的顺序,然后迭代它以从字典中提取值.在Foundation中没有内置的方法来获得有序字典.