按照存储为值的对象的属性sortingNSDictionary

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

我想以alpha顺序显示数据,但正如我们所知,Dictionary以其自己的方式存储数据,所以我得到不同的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) 

我怎样才能sorting我的字典由Object.Name属性。 或者根据Object.Namesorting顺序获得键值。

我不想sorting的关键我想sortingObject.Name存储在值部分作为对象。

任何forms的帮助,欢迎…..在此先感谢..

尝试这个,

 NSArray *sortedKeys = [dict keysSortedByValueUsingComparator: ^(id obj1, id obj2) { return (NSComparisonResult)[obj1.name compare:obj2.name];; }]; 

您将获得sortedKeys数组中的所有键,按object.name属性的顺序sorting。 您可以使用这些键从字典中获取值[dict valueForKey:[sortedKeys objectAtIndex:i]] 。 欲了解更多详情,请查看苹果文档 。

 NSSortDescriptor *descriptor = [[NSSortDescriptor alloc] initWithKey:@"Object.Name" ascending:YES]; [items sortUsingDescriptors:[NSArray arrayWithObjects:descriptor,nil]]; 

也,

 NSArray *ordered = [myDictionary keysSortedByValueUsingComparator:^NSComparisonResult(id obj1, id obj2){ return [obj1.name compare:obj2.name]; }];