我正在尝试使用键值数组将数据添加到字典中,但字典值是根据键字母顺序排列的
我的值和键数组包含:
myValueArray ={[orange,apple],
[ford,toyota,lexus]}
myKeyArray ={[fruits],[cars]}
我正在使用
向NSMutabledictionary添加键和值myDictionary = [[NSMutableDictionary alloc]initWithObjects:myValueArray forKeys:MainDelegate.myKeyArray];
myDictionary应该是
myDictionary = { Fruits =(orange,apple);
cars =(ford,toyota,lexus);}
但它按键的字母顺序添加,看起来像
myDictionary = { cars =(ford,toyota,lexus);
Fruits =(orange,apple);}
有没有办法在字典中添加键值对,因为它没有任何排序。
我正在尝试填充分组的uitableview。因为键被用作部分所有内容看起来像联系人应用程序,其中部分及其对应的值按字母顺序排列。但是我需要先显示最近的部分(数组中的第一部分)。
答案 0 :(得分:2)
如果您需要保存初始订单,则必须使用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];
答案 1 :(得分:0)
NSMutableDictionary
没有与之关联的任何排序,当您在日志中打印时,它将按排序顺序显示。
您可以管理单独的NSMutableArray
,并按照您要从key
获取的顺序排列NSMutableDictionary
。
这可以是根据您的要求存储值和获取的最简单方法。
愿这对你有所帮助。