Ios 不要按字母顺序添加NSMutabledictionary值

Ios 不要按字母顺序添加NSMutabledictionary值,ios,nsmutabledictionary,Ios,Nsmutabledictionary,我试图使用键值数组将数据添加到字典中,但字典值是根据键的字母顺序排列的 “我的值和键”数组包含: myValueArray ={[orange,apple], [ford,toyota,lexus]} myKeyArray ={[fruits],[cars]} 我正在使用向NSMutabledictionary添加键和值 myDictionary = [[NSMutableDictionary alloc]initWithObjects:myValueArray

我试图使用键值数组将数据添加到字典中,但字典值是根据键的字母顺序排列的

“我的值和键”数组包含:

myValueArray ={[orange,apple],
               [ford,toyota,lexus]}
myKeyArray ={[fruits],[cars]}
我正在使用向NSMutabledictionary添加键和值

myDictionary = [[NSMutableDictionary alloc]initWithObjects:myValueArray forKeys:MainDelegate.myKeyArray];
我的字典应该是

  myDictionary = { Fruits =(orange,apple);
                   cars =(ford,toyota,lexus);}
但它是按键的字母顺序添加的,看起来像

 myDictionary = { cars =(ford,toyota,lexus);
                     Fruits =(orange,apple);}
有没有一种方法可以按原样在字典中添加键值对,而无需任何排序


我正在尝试填充分组的uitableview。由于按键用作分区,所以所有内容看起来都像是contacts应用程序,其中分区及其对应的值按字母顺序排列。但是我需要首先显示最近的部分(数组中的第一个部分)

如果需要保留初始顺序,则必须使用
NSMutableArray


NSMutableDictionary
旨在以尽可能快的方式访问键的值,对键进行排序有助于实现这一点

以下是如何声明字典和数组以及如何将它们用于分组的tableView:

    NSDictionary *myDictionary = @{ @"cars": @[@"ford" , @"toyota", @"lexus"], @"Fruits": @[@"orange", @"apple"]};
    NSArray *keysArray = @[ @"Fruits", @"cars"];

    // first section
    NSString *sectionName = keysArray[0];
    NSArray *sectionArray = myDictionary[sectionName];

    // second section
    sectionName = keysArray[1];
    sectionArray = myDictionary[sectionName];

NSMutableDictionary
没有任何与之关联的排序,当您在日志中打印此内容时,它将按排序顺序显示

您可以管理一个单独的
NSMutableArray
,并按照要从
NSMutableDictionary
获取的顺序设置

这是存储值并根据您的要求获取的最简单方法


这可能会对您有所帮助。

为什么您需要一个未排序的字典?我用它填充我的表视图如何使用nsarray您正在谈论nsarray的-setvalue:foKey:No。数组没有键和值,它们只有对象。因此,您将执行一个
addObject:
。请参阅我编辑的问题。我想填充分组表视图在本例中,继续使用现有的字典,但还要按照需要的顺序为键名创建一个数组。当您使用它时,从数组中获取节名,从字典中获取单元格的元素,但基于数组中保存的键名。我的数据是动态的,我不知道确切的键是什么,我将让您在NSDictionary中添加数据吗?请参阅我编辑的问题,以了解我正试图实现的目标。