我如何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