本文介绍了排序NSDictionary按存储为value的对象的属性的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我将数据存储在 NSMutableDictionary 中存储由Web服务接收的数据。

I am storing data in NSMutableDictionary To store data received by web service.

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

I want to display data in alpha order but as we know Dictionary store data in their own way so I m getting different order for iOS 5 and iOS 6. iOS 5 it is fine but in iOS 6 it change order.

我将int key和object存储为值。

I am storing int key and object as value.

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

object contain ID,Name and Description.

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

如何通过Object.Name属性对Dictionary进行排序。
或基于Object.Name排序顺序获取密钥。

How can I sort my Dictionary by Object.Name property.or get key based on Object.Name sorting order.

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

I don't want to sort on key I want to sort on Object.Name which is stored in value part as object.

欢迎任何形式的帮助.....
提前致谢..

Any kind of help is welcome.....Thanks in advance..

推荐答案

试试这个,

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

     return (NSComparisonResult)[obj1.name compare:obj2.name];;
}];

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

You will get all the keys in sortedKeys array, sorted in the order of object.name property. You can use these keys to get the values from dictionary as [dict valueForKey:[sortedKeys objectAtIndex:i]]. For more details please check apple documentation.

这篇关于排序NSDictionary按存储为value的对象的属性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

11-02 12:52