iOS或者OS X开发过程中,总会遇到一些汉字取拼音的操作,之前遇到的一些第三方大多是自己做一些字典,然后查询。其实OC或者Swift在OS X或者iOS上可以利用系统的API获取汉字的拼音,下面简单介绍一下使用方式。同事介绍如何封装了一个库,方便需要时候可以直接使用
工具/原料
1
macOS High Sierra(10.13.3)
2
XCode9.2
方法/步骤
1
首先介绍下如何使用系统API直接获取拼音。
2
大概解释下let cfString = CFStringCreateMutableCopy(nil, 0, source as CFString)将String转成CFString,以便于进一步操作 CFStringTransform(cfString, nil, kCFStringTransformToLatin, false)是为了转拼音 CFStringTransform(cfString, nil, kCFStringTransformStripCombiningMarks, false)是为了将拼音中的声调去掉,需要保留声调可以不执行这步
3
以上就可以简单地获取汉字的拼音,但是会有问题,一些自定义的方式,比如首字母大写之类的需求需要自己处理,为了解决这个问题我们把这个封装下,我们这里起名叫做K3Pinyin,你也可以随便起个名字
4
先来看下结构,是不是特别简单
5
再来看看实现,第一部是实现K3Pinyin的struct,并且给他添加拼音属性及方法
6
第二步是实现协议,让String及NSString支持pinyin
7
处理下Option支持问题
8
为了方便读取option,我们再给collection添加一个extension
9
以上就是整个实现过程,我们看下使用方式,我截取单元测试中的一部分作为示例:
上一篇:如何利用软件刷斗鱼分享鱼丸
下一篇:如何汉字转拼音