您可以使用此代碼來實現你要實現的目標:
NSArray *strings=[NSArray arrayWithObjects:@"as12332", @"ol", @"st", @"br", @"gj", @"wr", @"qwos", nil];
NSArray *sortedArray;
sortedArray = [strings sortedArrayUsingComparator:^NSComparisonResult(NSString *first, NSString *second)
{
return [self compareLengthOf:first withLengthOf:second];
}];
sortedArray將包含的元素,按長度排序。
的比較方法的實現是:
- (NSComparisonResult)compareLengthOf:(NSString *)firstStr withLengthOf:(NSString *)secondStr
{
if ([firstStr length] > [secondStr length])
return NSOrderedAscending;
else if ([firstStr length] < [secondStr length])
return NSOrderedDescending;
else
return NSOrderedSame;
}
您可以更邏輯添加到comparisson方法,如果你想有一個輔助排序基於字母順序,例如。
可能重複的[如何排序NSMutableArray與自定義對象?](http://stackoverflow.com/questions/805547/how-to-sort-an-nsmutablearray-with-custom-objects-in-它) –