亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

iOS應(yīng)用開(kāi)發(fā)中使用NSLocale類實(shí)現(xiàn)對(duì)象信息的本地化

 更新時(shí)間:2016年05月04日 09:12:19   作者:李剛  
這篇文章主要介紹了iOS應(yīng)用開(kāi)發(fā)中使用NSLocale類實(shí)現(xiàn)對(duì)象信息的本地化的方法,能夠?qū)r(shí)間和貨幣等格式化為與系統(tǒng)本地設(shè)置相同的偏好,需要的朋友可以參考下

如何正確地格式化時(shí)間

這也是我們這兩天遇到的問(wèn)題,跟用戶幾經(jīng)溝通之后,終于抓到log,發(fā)現(xiàn)問(wèn)題竟然是格式化導(dǎo)致的。怎么解決呢?

這個(gè)時(shí)候NSLocale的重要性就體現(xiàn)出來(lái)了。NSLocale作為大家都不常用的一個(gè)類,NSLocale類是將與國(guó)家和語(yǔ)言相關(guān)的信息進(jìn)行簡(jiǎn)單的組合,包括貨幣、語(yǔ)言、國(guó)家等的信息。

所以很簡(jiǎn)單,我們把dateFormatter的locale屬性改一下即可解決這個(gè)問(wèn)題。將下面代碼放在dateFormatter初始化之后:

復(fù)制代碼 代碼如下:

NSLocale *usLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"];
dateFormatter.locale = usLocale;


看看問(wèn)題解決沒(méi)有,編譯一下:

2015-07-07 22:20:08.411 TestDemo[6769:1556968] 2015-07-07 22:20:08

果然,問(wèn)題得到完美解決了。

NSLocale主要用法簡(jiǎn)介
用來(lái)格式化時(shí)間只是NSLocale的一個(gè)小技巧,既然談到NSLocale,我們就來(lái)簡(jiǎn)單了解一下:

復(fù)制代碼 代碼如下:

+ ISOCountryCodes// 所有的ISO定義的國(guó)家地區(qū)編碼
+ ISOCurrencyCodes// 所有的ISO定義的貨幣編碼
+ ISOLanguageCodes// 所有ISO定義的語(yǔ)言編碼


以上我們可以用NSLog打印出來(lái)看一看。

NSLocale所具有的功能還有很多:

1.獲取系統(tǒng)本地化信息

復(fù)制代碼 代碼如下:

// 獲取系統(tǒng)所有本地化標(biāo)識(shí)符數(shù)組列表
[NSLocale availableLocaleIdentifiers] ;

2.獲取當(dāng)前系統(tǒng)設(shè)置語(yǔ)言的標(biāo)識(shí)符

復(fù)制代碼 代碼如下:

[[NSLocale currentLocale] localeIdentifier];

3.獲取本地化對(duì)象的具體內(nèi)容

復(fù)制代碼 代碼如下:

NSLocale *local = [NSLocale currentLocale];

key值參見(jiàn)NSLocale Calendar Keys

4.獲取當(dāng)前語(yǔ)言的排版方向和字符方向

復(fù)制代碼 代碼如下:

[NSLocale lineDirectionForLanguage:[[NSLocale currentLocale] objectForKey:NSLocaleLanguageCode];

5.獲取用戶的語(yǔ)言偏好設(shè)置列表,該列表對(duì)應(yīng)于IOS中Setting>General>Language彈出的面板中的語(yǔ)言列表。

復(fù)制代碼 代碼如下:

[NSLocale preferredLanguages]

第一個(gè)元素即為當(dāng)前用戶設(shè)置的語(yǔ)言

20165490753435.png (530×543)

6.監(jiān)聽(tīng)用戶本地化設(shè)置的消息

復(fù)制代碼 代碼如下:

[NSNotificationCenter defaultCenter] addObserver:self                                         selectorselector(localChangedHandler                                             name:NSCurrentLocaleDidChangeNotification object:nil];

7.以本地化方式獲取國(guó)際化信息的顯示名稱

復(fù)制代碼 代碼如下:

NSLocale *curLocal = [[NSLocale alloc]initWithLocaleIdentifier"zh-Hans"] ;

相關(guān)文章

最新評(píng)論