2015-08-26 27 views
1

我有一個NSArray的,我想最長的字符串最短串排序在NSArray中最長的,以最短的字符串

分類篩選示例 -

NSArray *strings=[NSArray arrayWithObjects:@"as12332", @"ol", @"st", @"br", @"gj", @"wr", @"qwos", nil]; 

我想導致喜歡 -

@ 「as12332」,@「qwos」,@「ol」,@「st」,@「br」,@「gj」,@「wr」。

按字符串長度排序。

+1

可能重複的[如何排序NSMutableArray與自定義對象?](http://stackoverflow.com/questions/805547/how-to-sort-an-nsmutablearray-with-custom-objects-in-它) –

回答

0

您可以使用此代碼來實現你要實現的目標:

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方法,如果你想有一個輔助排序基於字母順序,例如。

+0

哇的作品...非常感謝你..爲您的快速反應...再次感謝你。 – janmejay

相關問題