Sorting strings like Finder
The following example shows how you can compare strings to order them in the same way as they’re presented in Finder. First, define a sorting function that includes the relevant comparison options (for efficiency, pass the user's locale as the context—this way it's only looked up once).
int finderSortWithLocale(id string1, id string2, void *locale) |
{ |
static NSStringCompareOptions comparisonOptions = |
NSCaseInsensitiveSearch | NSNumericSearch | |
NSWidthInsensitiveSearch | NSForcedOrderingSearch; |
NSRange string1Range = NSMakeRange(0, [string1 length]); |
return [string1 compare:string2 |
options:comparisonOptions |
range:string1Range |
locale:(NSLocale *)locale]; |
} |
沒有留言:
張貼留言