IOS-A-Z通讯录

介绍步骤

1需要创建NSArray数组A(用于排序)和NSMutableArray数组B(用于数据处理)

2从服务器获取带有名字的字典,字典转模型 模型转可变数组 目的是把获取的数据通过模型的方式存储

3处理可变数组(无序-->有序)遍历可变数组里的每个模型,取出名字,汉字转拼音,得到有序字典

4根据升降排序比较字典里的每个元素(之前已转成拼音的)

上代码

1 创建数组

self.addressBookArray= [NSMutableArray array];

self.dataArray= [[NSArray array];

2 字典转模型 模型转存于可变数组


AddressBookModel*model = [AddressBookModel mj_objectWithKeyValues:dict];

[self.addressBookArray addObject:model];

}

3 处理可变数组


NSMutableDictionary*dict = [NSMutableDictionarydictionary];

//遍历

for(AddressBookModel*modelinstrArray) {

//取出名字

NSString*nicknameStr = [NSStringstringWithFormat:@"%@", model.nickname];

HCLog(@"nicknameStr%@",nicknameStr);

if([nicknameStrlength]) {

NSMutableString*mutableStr = [[NSMutableStringalloc]initWithString:nicknameStr];

//汉字转拼音 因为我们是根据A-Z排序

if(CFStringTransform((__bridgeCFMutableStringRef)mutableStr,0,kCFStringTransformMandarinLatin,NO)) {

}

if(CFStringTransform((__bridgeCFMutableStringRef)mutableStr,0,kCFStringTransformStripDiacritics,NO)) {

NSString*str= [NSStringstringWithString:mutableStr];

str= [struppercaseString];

NSMutableArray*subArray = [dictobjectForKey:[strsubstringToIndex:1]];

if(!subArray) {

subArray = [NSMutableArrayarray];

//写入字典

[dictsetObject:subArrayforKey:[strsubstringToIndex:1]];}

[subArrayaddObject:model];}}}

return dict;

}

4 数组A的排序


NSString*letter1 = obj1;

NSString*letter2 = obj2;

if(NSSTRING_ISEMPTY(letter2)) {//降

return NSOrderedDescending;

}else if([letter1 characterAtIndex:0] < [letter2 characterAtIndex:0]) {//升

return NSOrderedAscending;}

return NSOrderedDescending;}];

至此 打印出来的_dataArray就是A-Z排序的 步骤3里返回值dict就是每一个字母内所有的名字了(如 A:A1,A2)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,267评论 25 709
  • 风吹雪飘满地白,树木枝杈裹银装。节日临近灯结彩,平安之声已开唱。
    何求NY阅读 1,450评论 0 0
  • 绿叶衣成小山妆, 风雷雨电大劫临。 昂首挺胸全不惧, 浩然而立万古身。
    破土的蚯蚓阅读 2,649评论 0 2
  • 今朝风日好,明夕雨夜妙。 檐花滴雪碗,窗叶落雨碟。 烟锁池塘柳,雾蒙远山树,坟清松铃焟。 人世间人间事,梦境中梦中...
    芋圆红豆冰阅读 3,025评论 0 2
  • 今天的晨读文章,豁然让我意识到,自己用这样的方式冷(leng)艳(yan)观察别人,看世界已经很长一段时间了。 今...
    牛牛的Annie阅读 2,350评论 0 4

友情链接更多精彩内容