NSLocalizedString()参数“value”和“tableName”有什么作用?

时间:2017-11-10 16:29:02

标签: ios localization nslocalizedstring

Apple的文档(在Xcode和网页中都有)完全没有没有的参数说明。

https://developer.apple.com/documentation/foundation/1418095-nslocalizedstring

作为参考,函数签名是

NSLocalizedString(
    _ key    : String, 
    tableName: String? = default,  // ??
    bundle   : Bundle = default, 
    value    : String = default,   // ????
    comment  : String
) -> String

我清楚地知道tableName是什么 - 但更多信息会有所帮助。 (它只是字符串文件的文件名吗?)我不知道value的用途。

1 个答案:

答案 0 :(得分:3)

NSLocalizedStringWithDefaultValue的Objective-C文档解释了参数:

  

参数

     

<强>键
  指定表中字符串的键。

     

<强>表名
  包含键值对的表的名称。此外,字符串文件的后缀(扩展名为.strings的文件)​​用于存储本地化字符串。

     

<强>束
  包含字符串文件的包。

     

<强>值
  如果key为nil或者在表中找不到key的本地化字符串,则返回的值。

     

<强>注释
  注释放在字符串文件中的键值对之上。

基本上,key在指定包中名为tableName.strings的文件中查找。该字符串文件的格式为:

# comment
"key" = "value"