由于iOS
的系統(tǒng)原生庫已經(jīng)支持了漢字轉(zhuǎn)拼音打瘪,所以很多時候我們都可以直接進行轉(zhuǎn)換啥纸,但是系統(tǒng)的轉(zhuǎn)換很多時候都存在問題迟螺,在需要具體拼音的時候我們一般都會使用第三方庫來進行轉(zhuǎn)換赶掖。
在OC
中,我認為Pinyin4ObjC
是一個做的不錯的庫达箍,支持漢字没龙,語句到拼音的轉(zhuǎn)換,而且支持多音字的處理。但不幸的是硬纤,該庫的作者并沒有實現(xiàn)Swift
版本解滓。這種情況下,我就自己動手筝家,參考Pinyin4ObjC
的代碼伐蒂,做了一個Pinyin4Swift
的庫。
Pinyin4Swift
的代碼和接口和Pinyin4ObjC
基本一樣肛鹏,不過減少了一些原作者并沒有實現(xiàn)的API
接口逸邦,新增了一個獲取首字母的接口,主要用于搜索在扰。
使用方法上Pinyin4Swift的方法和Pinyin4Objc類似缕减,就是調(diào)用PinyinHelper的對應方法來獲取中文的拼音內(nèi)容。如要獲取“我愛中文”的拼音芒珠,可以用如下代碼:
PinyinHelper.getPinyinStringWithString("我愛中文", outputFormat: OutputFormat(vCharType: .uUnicode, caseType: .lower, toneType: .noTone))
對應的輸出將是
wo ai zhong wen
對于多音字桥狡,我們可以使用PinyinHelper.toPinyinStringArrayWithChar
方法來獲取對應的多個讀音,如“樂”字:
PinyinHelper.toPinyinStringArrayWithChar("樂", outputFormat: OutputFormat(vCharType: .uUnicode, caseType: .lower, toneType: .toneMark))
將會輸出它對應的兩個讀音:["lè", "yuè"]
相對于Pinyin4Objc皱卓,Pinyin4Swift新增了獲取首字母的功能裹芝,可以讓用戶更方便的進行通訊錄檢索等功能的開發(fā)。
PinyinHelper.getHeaderLettersWithString("我是中國人娜汁!")
的輸出將會是WSZGR
嫂易。