- (NSMutableArray *)fenZuWith:(NSArray *)arr {
// HomeExpertOrWiseModel
NSMutableArray *mArray = [NSMutableArray array];
for (NSInteger i = 0; i != 27; i ++) {
NSMutableArray *arrayItem = [NSMutableArray array];
[mArray addObject:arrayItem];
}
for (EnterpriseAddressListModel *model in arr ) {
NSString *key = model.USER_NAME;
unichar c = [key characterAtIndex:0];
if (c >=0x4E00 && c <=0x9FFF)
{
printf("汉字");
key = [self transform:key];
}
else
{
printf("英文");
}
unichar c1 = [key characterAtIndex:0];
if (c1 >= 65 && c1 <= 90) {
NSMutableArray *item = mArray[c1 - 64];
[item addObject:model];
} else if (c1 >= 97 && c1 <= 122) {
NSMutableArray *item = mArray[c1 - 96];
[item addObject:model];
} else {
NSMutableArray *item = mArray[0];
[item addObject:model];
}
}
for (NSInteger i = mArray.count - 1; i >= 0; i --) {
NSMutableArray *item = mArray[i];
if (item.count == 0) {
[mArray removeObjectAtIndex:i];
}
}
return mArray;
}
- (NSString *)transform:(NSString *)chinese
{
NSMutableString *pinyin = [chinese mutableCopy];
CFStringTransform((__bridge CFMutableStringRef)pinyin, NULL, kCFStringTransformMandarinLatin, NO);
CFStringTransform((__bridge CFMutableStringRef)pinyin, NULL, kCFStringTransformStripCombiningMarks, NO);
NSLog(@"%@", pinyin);
return [pinyin uppercaseString];
}
- (NSMutableArray *)paiXunWith:(NSMutableArray *)arr {
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"USER_NAME" ascending:YES];//其中,price为数组中的对象的属性,这个针对数组中存放对象比较更简洁方便
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil];
[arr sortUsingDescriptors:sortDescriptors];
return arr;
}
- (NSMutableArray *)getIndexArrayWith:(NSMutableArray <NSMutableArray *>*)arr {
NSMutableArray *indexArr = [NSMutableArray array];
for (NSInteger i = 0; i != arr.count ; i ++) {
EnterpriseAddressListModel *model = [arr[i] firstObject];
NSString *key = model.USER_NAME;
unichar c = [key characterAtIndex:0];
if (c >=0x4E00 && c <=0x9FFF)
{
printf("汉字");
key = [self transform:key];
}
else
{
printf("英文");
}
unichar c1 = [key characterAtIndex:0];
if (c1 >= 65 && c1 <= 90) {
c1 = c1 + 32;
} else if (c1 >= 97 && c1 <= 122) {
} else {
c1 = '#';
}
NSString *indexStr = [NSString stringWithFormat:@"%C",c1];
[indexArr addObject:indexStr];
}
return indexArr;
}
// HomeExpertOrWiseModel
NSMutableArray *mArray = [NSMutableArray array];
for (NSInteger i = 0; i != 27; i ++) {
NSMutableArray *arrayItem = [NSMutableArray array];
[mArray addObject:arrayItem];
}
for (EnterpriseAddressListModel *model in arr ) {
NSString *key = model.USER_NAME;
unichar c = [key characterAtIndex:0];
if (c >=0x4E00 && c <=0x9FFF)
{
printf("汉字");
key = [self transform:key];
}
else
{
printf("英文");
}
unichar c1 = [key characterAtIndex:0];
if (c1 >= 65 && c1 <= 90) {
NSMutableArray *item = mArray[c1 - 64];
[item addObject:model];
} else if (c1 >= 97 && c1 <= 122) {
NSMutableArray *item = mArray[c1 - 96];
[item addObject:model];
} else {
NSMutableArray *item = mArray[0];
[item addObject:model];
}
}
for (NSInteger i = mArray.count - 1; i >= 0; i --) {
NSMutableArray *item = mArray[i];
if (item.count == 0) {
[mArray removeObjectAtIndex:i];
}
}
return mArray;
}
- (NSString *)transform:(NSString *)chinese
{
NSMutableString *pinyin = [chinese mutableCopy];
CFStringTransform((__bridge CFMutableStringRef)pinyin, NULL, kCFStringTransformMandarinLatin, NO);
CFStringTransform((__bridge CFMutableStringRef)pinyin, NULL, kCFStringTransformStripCombiningMarks, NO);
NSLog(@"%@", pinyin);
return [pinyin uppercaseString];
}
- (NSMutableArray *)paiXunWith:(NSMutableArray *)arr {
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"USER_NAME" ascending:YES];//其中,price为数组中的对象的属性,这个针对数组中存放对象比较更简洁方便
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil];
[arr sortUsingDescriptors:sortDescriptors];
return arr;
}
- (NSMutableArray *)getIndexArrayWith:(NSMutableArray <NSMutableArray *>*)arr {
NSMutableArray *indexArr = [NSMutableArray array];
for (NSInteger i = 0; i != arr.count ; i ++) {
EnterpriseAddressListModel *model = [arr[i] firstObject];
NSString *key = model.USER_NAME;
unichar c = [key characterAtIndex:0];
if (c >=0x4E00 && c <=0x9FFF)
{
printf("汉字");
key = [self transform:key];
}
else
{
printf("英文");
}
unichar c1 = [key characterAtIndex:0];
if (c1 >= 65 && c1 <= 90) {
c1 = c1 + 32;
} else if (c1 >= 97 && c1 <= 122) {
} else {
c1 = '#';
}
NSString *indexStr = [NSString stringWithFormat:@"%C",c1];
[indexArr addObject:indexStr];
}
return indexArr;
}