可以用来给UITableView做首字母分类 然后做右侧字母导航
+ (NSDictionary *)getMapByShouZiMu:(NSArray*)oldStringList{
NSMutableArray *shouzimuList = [[NSMutableArray alloc] init];
NSMutableArray *string_list = [[NSMutableArray alloc] init];
NSMutableDictionary *string_list_Map = [[NSMutableDictionary alloc] init];
for (int i = 0; i < oldStringList.count ;i++) {
NSString *name = [oldStringList objectAtIndex:i];
if (name == nil || [@"" isEqualToString:[self removeSpaceAndNewline:name]] ) {
continue;
}
NSString *shouzimu = [XMUtils firstCharactor:name];
NSMutableArray *nameList_shouzimu = [string_list_Map objectForKey:shouzimu];
if (nameList_shouzimu == nil || nameList_shouzimu.count == 0) {
nameList_shouzimu = [[NSMutableArray alloc] init];
}
[nameList_shouzimu addObject:name];
[string_list_Map setValue:nameList_shouzimu forKey:shouzimu];
[string_list addObject:name];
if (![shouzimuList containsObject:shouzimu]) {
[shouzimuList addObject:shouzimu];
}
}
return string_list_Map;
}
+ (NSString *)firstCharactor:(NSString *)aString
{
NSMutableString *str = [NSMutableString stringWithString:aString];
CFStringTransform((CFMutableStringRef)str,NULL, kCFStringTransformMandarinLatin,NO);
CFStringTransform((CFMutableStringRef)str,NULL, kCFStringTransformStripDiacritics,NO);
NSString *pinYin = [str capitalizedString];
return [pinYin substringToIndex:1];
}
+ (NSString *)removeSpaceAndNewline:(NSString *)str{
NSString *temp = [str stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
NSString *text = [temp stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
return text;
}