其他分享
首页 > 其他分享> > iOS 玩转微信——通讯录

iOS 玩转微信——通讯录

作者:互联网

概述

预览

索引 侧滑
ios_contacts_page_0.png ios_contacts_page_1.png
GIF
ios_contacts_page.gif

功能

通讯录模块,尽管UI看起来极其简单,但是涵盖不少知识点,也是通讯录模块的功能所在,本篇文章将详述以下知识点以及实现的细节:

分析

数据处理

首先,主要是将联系人姓名转成拼音,然后取联系人拼音首字母;其次,利用字典(NSDictionary)的key的唯一性,将联系人的首字母插入到字典当中去;最后,取出字典的allKeys进行字母排序,然后遍历数据,进行按字母分组。

这里的核心技术就是汉字转拼音,当然大家可以使用iOS原生库方法PinYin4Objc来实现,这里笔者主要讲讲,iOS原生提供的API:

/// string 要转换的string,比如要转换的中文,同时它是mutable的,因此也直接作为最终转换后的字符串。
/// range是要转换的范围,同时输出转换后改变的范围,如果为NULL,视为全部转换。
/// transform可以指定要进行什么样的转换,这里可以指定多种语言的拼写转换。
/// reverse指定该转换是否必须是可逆向转换的。
/// 如果转换成功就返回true,否则返回false
Boolean CFStringTransform(CFMutableStringRef string, CFRange *range, CFStringRef transform, Boolean reverse);
CFMutableStringRef string = CFStringCreateMutableCopy(NULL, 0, CFSTR("芈月"));
CFStringTransform(string, NULL, kCFStringTransformMandarinLatin, NO);
NSLog(@"%@",string);
/// 打印结果:mǐ yuè

/// 由于

标签:tableView,微信,self,iOS,scrollView,UIColor,通讯录,void
来源: https://blog.csdn.net/u011581932/article/details/106878648