联系人按照A~~~Z排列
// 01 创建可变字典,存储每一个key对应的数据列表 NSMutableDictionary *nationWithCodeDicList = [NSMutableDictionary dictionary]; // 02 遍历数组_dataList中的小字典 NSString *path = [[NSBundle mainBundle] pathForResource:@"nationcodenumber" ofType:@"plist"];
NSArray *_dataList = [NSArray arrayWithContentsOfFile:path];
for (NSDictionary *nationWithCodeDic in _dataList) { // 03 得到国家名称
// Model *model =[[Model alloc]init];
NSString *nationName = nationWithCodeDic[@"Name"]; // 04 转成可变字符串 NSMutableString *mutableNationName = [NSMutableString stringWithString:nationName]; // 05 先转换为带声调的拼音 CFStringTransform((CFMutableStringRef)mutableNationName,NULL, kCFStringTransformMandarinLatin,NO); // 06 再转换为不带声调的拼音 CFStringTransform((CFMutableStringRef)mutableNationName,NULL, kCFStringTransformStripDiacritics,NO); // 07 得到首字母之大写形式并设置为字典的一个key NSString *key = [mutableNationName substringToIndex:].uppercaseString;
NSLog(@"%@",key);
// 08 获取nationWithCodeDicList中key对应的value(存放若干国家小字典的数组,国家名字的首字母都是key)nationWithCodeListKey NSMutableArray *nationWithCodeListKey = [nationWithCodeDicList objectForKey:key]; // 09 若此数组为空,则创建并保存到字典对应的key if (nationWithCodeListKey == nil) { nationWithCodeListKey = [NSMutableArray array]; [nationWithCodeDicList setObject:nationWithCodeListKey forKey:key]; }
//MKMKMKMKMKMKMKMKMK
Model *model =[Model currentModelWithDict:nationWithCodeDic];
// 10 若有此数组,就把本次遍历得到的数据(_dataList中的小字典)加入其中
[nationWithCodeListKey addObject:model];
// [nationWithCodeListKey addObject:nationWithCodeDic];
// 11 获取当前好友列表中所有的组标题 使用compare得到有顺序的字母数组 self.shouzimuarray = [[nationWithCodeDicList allKeys] sortedArrayUsingSelector:@selector(compare:)];
}
self.dictionart = nationWithCodeDicList;
联系人按照A~~~Z排列的更多相关文章
- iOS学习之Object-C语言简单的通讯录管理系统
用这几天学的OC的知识,写了一个实现简单功能的通讯录管理系统,在这里分享给大家: 通讯录管理系统 * 需求: 1.定义联系人类Contact.实例变量:姓名(拼音,首字母大写).性别.电话号码.住址 ...
- WebP 原理和 Android 支持现状介绍(转)
本文为腾讯Bugly开发者社区 投稿,作者:soonlai,版权归原作者所有,未经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/582939577ef9c5b70855 ...
- 【腾讯Bugly干货分享】WebP原理和Android支持现状介绍
本文来自于腾讯bugly开发者社区,未经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/582939577ef9c5b708556b0d 1.背景 目前网络中图片仍然是占 ...
- CMAKE语法
[语法] 注释 # : #我是注释 命令语法 COMMAND: COMMAND(参数1 参数2 ...) 字符串列 A;B;C //分号分割或空格分隔的值 变量 ...
- 华为OJ—字符串排序(排序,忽略指定字符排序)
http://career-oj.huawei.com/exam/ShowProblemInfo?id=2168 编写一个程序,将输入字符串中的字符按如下规则排序. 规则1:英文字母从A到Z排列,不区 ...
- PinnedListView分析一
分享一个Android控件,PinnedHeaderListView , 大致是像图钉一样,能够固定显示一个头部在ListView的顶部,类似于Android原版通讯录中联系人按照字母分组排列, 这个 ...
- problem-solving-with-algorithms-and-data-structure-usingpython(使用python解决算法和数据结构) -- 算法分析
1. 计算前n个整数的和 def sumOfN(n): theSum = 0 for i in range(1,n+1): theSum += i return theSum print(sumOfN ...
- Web前端开发最佳实践(8):还没有给CSS样式排序?其实你可以更专业一些
前言 CSS样式排序是指按照一定的规则排列CSS样式属性的定义,排序并不会影响CSS样式的功能和性能,只是让代码看起来更加整洁.CSS代码的逻辑性并不强,一般的开发者写CSS样式也很随意,所以如果不借 ...
- 光荣之路测试开发面试linux考题之四:性能命令
Hi,大家好我是tom,I am back.今天要给大家讲讲linux系统一些性能相关命令. 1.fdisk 磁盘管理 是一个强大的危险命令,所有涉及磁盘的操作都由该命令完成,包括:新增磁盘.增删改磁 ...
随机推荐
- 如何在tpl模版的div块中加ztree
ld-ztree.tpl <div class="ld-ztree-container"> <div class="ld-ztree-header te ...
- input 放大镜
<input results="s" type="search" size="20px" placeholder="搜 ...
- 4、Python:strip(),split()
1.strip()函数 strip()是删除'()'里面的字符,当()为空时,默认删除空白符(包括'\n','\r','\t','') (1)s.strip(rm) 删除s字符串中开头. ...
- xcode调试技巧
xode报错有时挺无厘头,完全不知道哪里出的问题,最后还得用排除法,记录一些工作中认为有用的调试技巧 1.左侧视图点断点视图,左下角点加号,选择exception breakpoint,类型选c++, ...
- 【转载】[C#]Log4net中的RollingFileAppender解析
Log4日志组件的应用确实简单实用,在比较了企业库和Log4的日志功能后,个人觉得Log4的功能更加强大点.补充说明下,我使用的企业库是2.0版本,Log4net是1.2.1版本的. 在Log4net ...
- select 一直返回0
select设置超时时间后一直返回零,是因为每次select后监听的fd_set都被重置,解决方法就是每次重新设置
- Perl语言
Perl是高级.通用.直译式.动态的程序语言家族.最初设计者拉里·沃尔(Larry Wall)为了让在UNIX上进行报表处理的工作变得更方便,决定开发一个通用的脚本语言,而在1987年12月18日发表 ...
- select 多表查询
连接查询实际上是通过各个表之间共同列的关联性来查询数据的,它是关系数据库查询最主要的特征. select 表1.字段名1,表2.字段名2,... from 表1,表2 where 连接条件 连接查询分 ...
- Owin SelfHost Asp.net WebApi 遇到 No type was found that matches the controller named 'ControllerName' 异常的解决方案
问题背景:在使用普通的SelfHost时,调用其它工程的dll(其实就是把WebApi写到一个单独的工程方便管理),通过加载其他工程的dll然后再访问webapi是没有问题的. 但是在使用Owin S ...
- WPF的"路径标记语法"
在此之前我们先了解一下WPF的"路径标记语法" M:表示绘制起点 // M 0,0 L:表示绘制直线 (H:横线 V:竖线) // L 100,0 C:三次方贝塞尔曲线 // ...