如何在nsmutabledictionary ios中按顺序打印键

时间:2014-07-29 16:05:55

标签: ios objective-c sorting nsmutabledictionary

我收到服务器的回复,我将其保存在这样的字典中,我正在使用NSMutableArray来实现此目的。

{
    a = "";
    b = "";
    c = "";
    d = "";
}

我想按照从服务器返回的顺序打印密钥。

但是当我打印钥匙时,订单是:c, d, a, b

我使用的代码是:

for(id key in dic){
    nslog(@"%@",key);
}

我该如何正确地做到这一点?

4 个答案:

答案 0 :(得分:2)

自然NSDictionaryNSMutableDictionary是无序的。你不可能这样做。我建议将密钥存储到NSArrayNSMutableArray中,然后按顺序打印出数组的元素。

答案 1 :(得分:1)

NSMutableDictionary是无序集合。您可以创建自己的有序字典子类,并按顺序将键添加到数组中。

看看here是如何制作ordered dictionary的好解释。您还可以使用此link

答案 2 :(得分:1)

尝试将响应保存在NSMutableArray中,其中每个元素都是一个只有一个键值对的简单NSDictionary。

答案 3 :(得分:1)

NSDictionaryNSMutableDictionary是无序集合。

但您可以使用OrderedDictionary