近日,项目需求,需要将tableview里面的item按照人名拼音首字母A-Z排序
效果如下:
要实现该效果,需要把拼音首字母转化输出。
网上有对应的DEMO,相关主要代码如下:
- (NSString *)getFirstLetter
{
NSString *words = [self stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
if (words.length == 0) {
return nil;
}
NSString *result = nil;
unichar firstLetter = [words characterAtIndex:0];
int index = firstLetter - HANZI_START;
if (index >= 0 && index <= HANZI_COUNT) {
result = [NSString stringWithFormat:@"%c", firstLetterArray[index]];
} else if ((firstLetter >= 'a' && firstLetter <= 'z')
|| (firstLetter >= 'A' && firstLetter <= 'Z')) {
result = [NSString stringWithFormat:@"%c", firstLetter];
} else {
result = @"#";
}
return [result uppercaseString];
}
根据DEMO,获取对应人名首字母,从而实现排序。