我有一个用户数组,我想创建一个联系人列表。
我按字母顺序排序对象和键。
NSArray *sortedKeys = [[contactListDictionary allKeys] sortedArrayUsingSelector: @selector(caseInsensitiveCompare:)];
NSArray *objects = [contactListDictionary objectsForKeys:sortedKeys notFoundMarker:[NSNull null]];
在此之后,我可以使用排序键和/再次初始化字典 对象。
contactListDictionary = [NSMutableDictionary dictionaryWithObjects:objects forKeys:sortedKeys];
但它没有对键和对象进行排序。他们混合使用NSMutableDictionary,我能为这种情况做些什么?
答案 0 :(得分:0)
你无法做任何事情,也就是说,不是你现在想要的方式。 NSDictionary类不允许您告诉它以什么顺序存储其密钥;这不是它的实现方式。 但是您已经发现可以按照所需的顺序在数组中获取密钥。应该不需要对字典本身进行排序,其目的是为您提供快速查找机制,并且确实如此。例如,如果您想按顺序显示键,只需创建一个以现在的方式创建的(临时)数组。