我有一个NSMutableDictionaries数组,其中包含键位置(以及其他内容)。我需要对数组进行排序,以便将其输入到表中。上面应该是N,下面应该是A,下面应该是R。那么在排序中:如何按N-A- R的顺序对数组进行排序?
编辑:我可以通过查看两个变量来排序,但我使用的变量超过2个(总共7个)……
谢谢,
发布于 2011-03-31 17:15:50
如果您的数组是可变的,则可以使用-sortUsing...方法。如果没有,可以使用-sortedArrayUsing...创建一个新的排序数组。方法。例如,有接受比较器块作为参数的-sortUsingComparator:和-sortedArrayUsingComparator:方法。您只需要提供一个块,使用您的自定义排序顺序比较两个对象,如下所示:
[myArray sortUsingComparator:^(id firstObject, id secondObject) {
NSString *firstKey = [firstObject valueForKey:@"location"];
NSString *secondKey = [secondObject valueForKey:@"location"];
if ([firstKey stringEqual:@"N"] || [lastKey stringEqual:@"R"])
return NSOrderedAscending;
else if ([firstKey stringEqual:secondKey])
return NSOrderedSame;
else
return NSOrderedDescending;
}];在Collections Programming Topics文档中,有非常详细的关于数组排序的讨论和示例。
https://stackoverflow.com/questions/5497051
复制相似问题