2010-05-24 74 views
2

如果這是一個常見問題解答,我很抱歉,但是下面兩條語句有什麼區別?我一直在尋找谷歌和蘋果文檔,我似乎無法找到一個顯着差異。我最好的猜測是本地化的一個被優化,以在運行時更新。任何人都可以爲我澄清?NSString,localizedString是什麼意思?

NSString *title1 = [NSString localizedStringWithFormat:@"%@, %@", @"1", @"2"]; 

NSString *title2 = [NSString stringWithFormat:@"%@, %@", @"1", @"2"]; 

大加讚賞

加里

回答

3

從NSString類參考:

該方法等效於使用initWithFormat:區域設置:以及使[[NSUserDefaults的standardUserDefaults] dictionaryRepresentation]作爲語言環境參數。

作爲格式化的一個示例,此方法根據%f和%d替換中的語言環境替換小數,並在必要時調用descriptionWithLocale:而不是描述。

此代碼摘錄創建從另一字符串和浮子的字符串:

NSString *myString = [NSString localizedStringWithFormat:@"%@: %f\n", @"Cost", 1234.56];

如果區域設置爲en_US,則生成的字符串的值爲「Cost:1234.560000 \ n」,如果區域設置爲fr_FR,則生成「Cost:1234,560000 \ n」。

NSString Class Reference

3

閱讀在docs on the method討論。它詳細說明了它的用途。其目的是應用區域設置格式,例如正確的小數點分隔符(句點與浮點數中的逗號)。閱讀Formatting String Objects瞭解更多詳情。