Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cocoa 如何更改词典中键的顺序_Cocoa_Nsarray_Nsdictionary - Fatal编程技术网

Cocoa 如何更改词典中键的顺序

Cocoa 如何更改词典中键的顺序,cocoa,nsarray,nsdictionary,Cocoa,Nsarray,Nsdictionary,我有一个可变数组,由字典数组组成,如下所示: ( { A = Mango; B = "John"; C = SLOVAKIA; D = 01/27/13; E = 2000; }, { A = Banana; B = "Johny"; C = THAILAND; D = 02/27/13; E = 40

我有一个可变数组,由字典数组组成,如下所示:

(
      {
        A = Mango;
        B = "John";
        C = SLOVAKIA;
        D = 01/27/13;
        E = 2000;
    },
        {
        A = Banana;
        B = "Johny";
        C = THAILAND;
        D = 02/27/13;
        E = 4000;
    },
        {
        A = Orange;
        B = "Lezin";
        C = US;
        D = 03/27/13;
        E = 6000;
    }
)
现在我想根据键对数组进行排序,使键的顺序变成BECAD,它既不是升序也不是降序,而是随机顺序。 预期产出如下:

(
      {
        B = "John";
        E = 2000;
        C = SLOVAKIA;
        A = Mango;
        D = 01/27/13;
    },
        {
        B = "Johny";
        E = 4000;
        C = THAILAND;
        A = Banana;
        D = 02/27/13;
    },
        {
        B = "Lezin";
        E = 6000;
        C = US;
        A = Orange;
        D = 03/27/13;
    }
)

我怎样才能做到这一点呢?

没有保证字典键的固有顺序。在实践中,它们似乎是菲罗秩序。但这是一个实现细节


您应该使用像NSArrayController这样的代理来获得所需的排序

NSMutableDictionary总是以无序的方式返回键


如果我们真的想保持顺序,那么我们可能需要在键之前/之后添加01、02、03序列号,以便按照我们想要的顺序对它们进行排序,然后我们需要修剪字符串的数字部分并使用它。

字典是一种数据结构,顺序没有意义。。。您只需通过键访问元素,那么为什么您需要顺序呢?