将iOS中英文内容进行排序

2018-11-08  本文已影响0人  布谷布谷7788

当一段数组里面的字符串,需要进行排序的时候,:原文链接

英文通过字母排序:

中文通过拼音排序:

这里有一个算法,直接使用就可以进行排序

-(void)testSort

{ NSArray *stringsArray = [NSArray arrayWithObjects:@"string 1", @"你好",@"你在", @"String 11", @"上海", 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);

}

输出结果:

<__NSArrayI 0x109622d90>(

你好,

你在,

上海,

string 1,

String 11

)

---------------------

上一篇 下一篇

猜你喜欢

热点阅读