我有NSArray
,其中包含NSDictionary
个对象。这些NSDictionary
个对象中的每一个都包含一个ORDER
密钥。
如何根据这些NSArray
中的这个键对NSDictionaries
进行排序?
答案 0 :(得分:7)
这是一个例子。想象一下你有一系列的字典。 Ecah dictionnary有2个键“name”& “出生日期”。您可以按照“名称”对数组进行排序:
//
// Sort array by name
//
NSSortDescriptor *Sorter = [[NSSortDescriptor alloc] initWithKey:@"name" ascending:YES];
[myArray sortUsingDescriptors:[NSArray arrayWithObject:Sorter]];
[Sorter release];
请注意,myArray
是NSMutableArray
。
答案 1 :(得分:4)
阅读Apple Sorting with Sort Descriptors的Collections Programming Topics部分。
本节中的示例包括按键对字典对象数组进行排序。
答案 2 :(得分:1)
排序字典数组
你必须使用NSSortDescriptor
,你可以根据键
在代码中,将NSMutableArray
与dict对象一起传递给你想要对它进行排序
-(NSMutableArray*)sortingArrayOfDict:(NSMutableArray *)arrayTosort sortByObject:(NSString*)sortKey{
NSSortDescriptor *aSortDescriptor = [[NSSortDescriptor alloc] initWithKey:sortKey ascending:YES];
[arrayTosort sortUsingDescriptors:[NSArray arrayWithObject:aSortDescriptor]];
return arrayTosort;
}
甚至可以通过设置YES / NO
按升序或降序对其进行排序