排序NSDictionary按存储为value的对象的属性

CRD*_*ave 6 objective-c ios

我正在存储数据NSMutableDictionary以存储由Web服务接收的数据.

我想以alpha顺序显示数据,但是我们知道字典存储数据以自己的方式存在,所以我得到了iOS 5和iOS 6的不同顺序.iOS 5很好但是在iOS 6中它改变了顺序.

我将int key和object存储为值.

对象包含ID,名称和描述.

EX:
  key  value
  1 -  (12,bhgjksd,kijdh)
  6 -  (13,kjfd,ikjk)
  2 -  (14,ljiuhbdf,dsjhfj)
Run Code Online (Sandbox Code Playgroud)

如何通过Object.Name属性对Dictionary进行排序.或者根据Object.Name排序顺序获取密钥.

我不想对按键排序我要对作为对象存储在值部分中的Object.Name进行排序.

欢迎任何形式的帮助.....在此先感谢..

iDe*_*Dev 6

试试这个,

NSArray *sortedKeys = [dict keysSortedByValueUsingComparator: ^(id obj1, id obj2) {

     return (NSComparisonResult)[obj1.name compare:obj2.name];;
}];
Run Code Online (Sandbox Code Playgroud)

您将获得sortedKeys数组中的所有键,按object.name属性的顺序排序.您可以使用这些键从字典中获取值[dict valueForKey:[sortedKeys objectAtIndex:i]].有关详细信息,请查看Apple文档.