我如何sortingNSArray包含NSDictionaries?

我有一个包含NSDictionary对象的NSArray 。 每个这些NSDictionary对象都包含一个ORDER键。

如何在这些NSDictionaries每个NSArray基于这个键sorting这个NSArray

这是一个例子。 想象你有一个字典数组。 Ecah dictionnary有2个键“名字”和“dateOfBirth”。 你可以通过“name”来sorting你的数组:

 // // Sort array by name // NSSortDescriptor *Sorter = [[NSSortDescriptor alloc] initWithKey:@"name" ascending:YES]; [myArray sortUsingDescriptors:[NSArray arrayWithObject:Sorter]]; [Sorter release]; 

请注意, myArray是一个NSMutableArray

阅读苹果集合编程主题的 sorting描述符部分sorting 。

本节中的示例包括按键对字典对象数组进行sorting。

要sorting字典数组,您必须使用NSSortDescriptor ,您可以根据键对字典数组进行sorting

这里在代码中,通过意味着你想要sorting它与dict对象传递NSMutableArray

 -(NSMutableArray*)sortingArrayOfDict:(NSMutableArray *)arrayTosort sortByObject:(NSString*)sortKey{ NSSortDescriptor *aSortDescriptor = [[NSSortDescriptor alloc] initWithKey:sortKey ascending:YES]; [arrayTosort sortUsingDescriptors:[NSArray arrayWithObject:aSortDescriptor]]; return arrayTosort; } 

甚至可以通过设置YES / NO来按升序或降序sorting