NSMutableDictionary已排序的键和对象未创建

时间:2014-09-24 11:11:00

标签: objective-c sorting object key nsmutabledictionary

我有一个用户数组,我想创建一个联系人列表。

  

我按字母顺序排序对象和键。

NSArray *sortedKeys = [[contactListDictionary allKeys] sortedArrayUsingSelector: @selector(caseInsensitiveCompare:)];
NSArray *objects = [contactListDictionary objectsForKeys:sortedKeys notFoundMarker:[NSNull null]];
  

在此之后,我可以使用排序键和/再次初始化字典   对象。

contactListDictionary = [NSMutableDictionary dictionaryWithObjects:objects forKeys:sortedKeys];

但它没有对键和对象进行排序。他们混合使用NSMutableDictionary,我能为这种情况做些什么?

1 个答案:

答案 0 :(得分:0)

你无法做任何事情,也就是说,不是你现在想要的方式。 NSDictionary类不允许您告诉它以什么顺序存储其密钥;这不是它的实现方式。 但是您已经发现可以按照所需的顺序在数组中获取密钥。应该不需要对字典本身进行排序,其目的是为您提供快速查找机制,并且确实如此。例如,如果您想按顺序显示键,只需创建一个以现在的方式创建的(临时)数组。