按自定义方法排序NSString数组

时间:2010-11-15 20:52:09

标签: objective-c sorting nsarray

我如何通过自定义方法对NSString对象数组进行排序。例如,我有一个方法

-(int)calculateValue:(NSString *)aString

我想根据此方法返回的值按降序排序数组。所以例如我有一个数组

NSMutableArray *array = [[NSMutableArray alloc] initWithObjects:@"Apple", @"Bee", @"Super", nil];

现在,如果我为每个字符串调用calculateValue,它可能会返回诸如。

之类的值

“Apple”= 15,“Bee”= 21,“Super”= 3.现在,我正在尝试根据calculateValue方法中每个NSString的返回值对该数组进行排序。那么排序的数组就像

[Bee, Apple, Super]

1 个答案:

答案 0 :(得分:3)

-sortedArrayUsingSelector:。你将传递像@selector(myComparisonMethod:)这样的选择器。您的比较方法应返回NSComparisonResult,如NSOrderedAscending,NSOrderedDescending或NSOrderedSame。