iOS應(yīng)用開發(fā)中使用NSLocale類實(shí)現(xiàn)對(duì)象信息的本地化
如何正確地格式化時(shí)間
這也是我們這兩天遇到的問題,跟用戶幾經(jīng)溝通之后,終于抓到log,發(fā)現(xiàn)問題竟然是格式化導(dǎo)致的。怎么解決呢?
這個(gè)時(shí)候NSLocale的重要性就體現(xiàn)出來了。NSLocale作為大家都不常用的一個(gè)類,NSLocale類是將與國家和語言相關(guān)的信息進(jìn)行簡(jiǎn)單的組合,包括貨幣、語言、國家等的信息。
所以很簡(jiǎn)單,我們把dateFormatter的locale屬性改一下即可解決這個(gè)問題。將下面代碼放在dateFormatter初始化之后:
NSLocale *usLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"];
dateFormatter.locale = usLocale;
看看問題解決沒有,編譯一下:
2015-07-07 22:20:08.411 TestDemo[6769:1556968] 2015-07-07 22:20:08
果然,問題得到完美解決了。
NSLocale主要用法簡(jiǎn)介
用來格式化時(shí)間只是NSLocale的一個(gè)小技巧,既然談到NSLocale,我們就來簡(jiǎn)單了解一下:
+ ISOCountryCodes// 所有的ISO定義的國家地區(qū)編碼
+ ISOCurrencyCodes// 所有的ISO定義的貨幣編碼
+ ISOLanguageCodes// 所有ISO定義的語言編碼
以上我們可以用NSLog打印出來看一看。
NSLocale所具有的功能還有很多:
1.獲取系統(tǒng)本地化信息
// 獲取系統(tǒng)所有本地化標(biāo)識(shí)符數(shù)組列表
[NSLocale availableLocaleIdentifiers] ;
2.獲取當(dāng)前系統(tǒng)設(shè)置語言的標(biāo)識(shí)符
[[NSLocale currentLocale] localeIdentifier];
3.獲取本地化對(duì)象的具體內(nèi)容
NSLocale *local = [NSLocale currentLocale];
key值參見NSLocale Calendar Keys
4.獲取當(dāng)前語言的排版方向和字符方向
[NSLocale lineDirectionForLanguage:[[NSLocale currentLocale] objectForKey:NSLocaleLanguageCode];
5.獲取用戶的語言偏好設(shè)置列表,該列表對(duì)應(yīng)于IOS中Setting>General>Language彈出的面板中的語言列表。
[NSLocale preferredLanguages]
第一個(gè)元素即為當(dāng)前用戶設(shè)置的語言

6.監(jiān)聽用戶本地化設(shè)置的消息
[NSNotificationCenter defaultCenter] addObserver:self selectorselector(localChangedHandler name:NSCurrentLocaleDidChangeNotification object:nil];
7.以本地化方式獲取國際化信息的顯示名稱
NSLocale *curLocal = [[NSLocale alloc]initWithLocaleIdentifier"zh-Hans"] ;
相關(guān)文章
解決iOS UITextField 編輯時(shí)文本偏移問題
這篇文章主要介紹了解決iOS UITextField 編輯時(shí)文本偏移問題,需要的朋友可以參考下2017-05-05
IOS開發(fā)之字典轉(zhuǎn)字符串的實(shí)例詳解
這篇文章主要介紹了IOS開發(fā)之字典轉(zhuǎn)字符串的實(shí)例詳解的相關(guān)資料,希望通過本文能幫助到大家,讓大家掌握這樣的方法,需要的朋友可以參考下2017-10-10
iOS自定義字體設(shè)置和系統(tǒng)自帶的字體詳解
這篇文章主要給大家介紹了關(guān)于iOS自定義字體設(shè)置和系統(tǒng)自帶的字體的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-01-01
關(guān)于iOS導(dǎo)航欄返回按鈕問題的解決方法
這篇文章主要為大家詳細(xì)介紹了關(guān)于iOS導(dǎo)航欄返回按鈕問題的解決方法,對(duì)iOS自定義backBarButtonItem的點(diǎn)擊事件進(jìn)行介紹,感興趣的小伙伴們可以參考一下2016-05-05
ios利用RunLoop原理實(shí)現(xiàn)去監(jiān)控卡頓實(shí)例詳解
這篇文章主要為大家介紹了ios利用RunLoop原理實(shí)現(xiàn)去監(jiān)控卡頓實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09

