若何准確地格局化時光
這也是我們這兩天碰到的成績,跟用戶幾經溝通以後,終究抓到log,發明成績居然是格局化招致的。怎樣處理呢?
這個時刻NSLocale的主要性就表現出來了。NSLocale作為年夜家都不經常使用的一個類,NSLocale類是將與國度和說話相干的信息停止簡略的組合,包含泉幣、說話、國度等的信息。
所以很簡略,我們把dateFormatter的locale屬性改一下便可處理這個成績。將上面代碼放在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重要用法簡介
用來格局化時光只是NSLocale的一個小技能,既然談到NSLocale,我們就來簡略懂得一下:
+ ISOCountryCodes// 一切的ISO界說的國度地域編碼
+ ISOCurrencyCodes// 一切的ISO界說的泉幣編碼
+ ISOLanguageCodes// 一切ISO界說的說話編碼
以上我們可以用NSLog打印出來看一看。
NSLocale所具有的功效還有許多:
1.獲得體系當地化信息
// 獲得體系一切當地化標識符數組列表
[NSLocale availableLocaleIdentifiers] ;
2.獲得以後體系設置說話的標識符
[[NSLocale currentLocale] localeIdentifier];
3.獲得當地化對象的詳細內容
NSLocale *local = [NSLocale currentLocale];
key值拜見NSLocale Calendar Keys
4.獲得以後說話的排版偏向和字符偏向
[NSLocale lineDirectionForLanguage:[[NSLocale currentLocale] objectForKey:NSLocaleLanguageCode];
5.獲得用戶的說話偏好設置列表,該列表對應於IOS中Setting>General>Language彈出的面板中的說話列表。
[NSLocale preferredLanguages]
第一個元素即為以後用戶設置的說話
6.監聽用戶當地化設置的新聞
[NSNotificationCenter defaultCenter] addObserver:self selectorselector(localChangedHandler name:NSCurrentLocaleDidChangeNotification object:nil];
7.以當地化方法獲得國際化信息的顯示稱號
NSLocale *curLocal = [[NSLocale alloc]initWithLocaleIdentifier"zh-Hans"] ;
【iOS運用開辟中應用NSLocale類完成對象信息的當地化】的相關資料介紹到這裡,希望對您有所幫助! 提示:不會對讀者因本文所帶來的任何損失負責。如果您支持就請把本站添加至收藏夾哦!