NSArray
*
stringsArray
=
[
NSArray
arrayWithObjects
:
@ "string 1" ,
@ "String 21" ,
@ "string 12" ,
@ "String 11" ,
@ "String 02" , nil ] ;
static NSStringCompareOptions comparisonOptions = NSCaseInsensitiveSearch | NSNumericSearch |
NSWidthInsensitiveSearch | NSForcedOrderingSearch;
NSLocale * currentLocale = [ NSLocale currentLocale ] ;
NSComparator finderSortBlock = ^ ( id string1, id string2 ) {
NSRange string1Range = NSMakeRange ( 0 , [ string1 length ] ) ;
return [ string1 compare : string2 options : comparisonOptions range : string1Range locale : currentLocale ] ;
} ;
NSArray * finderSortArray = [ stringsArray sortedArrayUsingComparator : finderSortBlock ] ;
@ "string 1" ,
@ "String 21" ,
@ "string 12" ,
@ "String 11" ,
@ "String 02" , nil ] ;
static NSStringCompareOptions comparisonOptions = NSCaseInsensitiveSearch | NSNumericSearch |
NSWidthInsensitiveSearch | NSForcedOrderingSearch;
NSLocale * currentLocale = [ NSLocale currentLocale ] ;
NSComparator finderSortBlock = ^ ( id string1, id string2 ) {
NSRange string1Range = NSMakeRange ( 0 , [ string1 length ] ) ;
return [ string1 compare : string2 options : comparisonOptions range : string1Range locale : currentLocale ] ;
} ;
NSArray * finderSortArray = [ stringsArray sortedArrayUsingComparator : finderSortBlock ] ;
NSLog(@"finderSortArray: %@", finderSortArray);
Result:
/*
Output:
finderSortArray: (
“string 1″,
“String 02″,
“String 11″,
“string 12″,
“String 21″
)
*/