//取所有记录中的姓氏
NSMutableArray * arrFirstName = [[NSMutableArray alloc] init];
for (CustomSerModel * obj in arrSource) {
if (obj.m_name.length) { //这里最好判断下
char first=pinyinFirstLetter([obj.m_name characterAtIndex:0]);
NSString *firstName = nil;
if ((first>='a'&&first<='z')||(first>='A'&&first<='Z')){
firstName = [[NSString stringWithFormat:@"%c",pinyinFirstLetter([obj.m_name characterAtIndex:0])] uppercaseString];
}else {
firstName=[[NSString stringWithFormat:@"%c",'#'] uppercaseString];
}
if (![arrFirstName containsObject:firstName]) {
[arrFirstName addObject:firstName];
}
}
}
[arrFirstName sortUsingComparator:^NSComparisonResult(id obj1, id obj2) {
return [obj1 compare:obj2 options:NSCaseInsensitiveSearch];
}];
arrFirstName =arrFirstName;
//过滤所有的记录组装成一个字典
NSMutableDictionary * dict = [[NSMutableDictionary alloc] init];
for (NSString *name in arrFirstName) {
NSMutableArray *section = [[NSMutableArray alloc] init];
for (int i=0; i<arrSource.count; i++) {
CustomSerModel *obj = [arrSource objectAtIndex:i];
if ([[[NSString stringWithFormat:@"%c",pinyinFirstLetter([obj.m_name characterAtIndex:0])] uppercaseString] isEqualToString:name]) {
[section addObject:obj];
}
}
[dict setValue:section forKeyPath:name];
}
//dict
_arrFirstNames = [arrFirstName retain];
_dictOfFriends = [dict retain];