当读取NSLocalizedString
的初始值设定项时,我看到一些参数默认为default
.default
关键字代表什么?
func NSLocalizedString(key: String, tableName: String? = default, bundle: NSBundle = default, value: String = default, #comment: String) -> String
当读取NSLocalizedString
的初始值设定项时,我看到一些参数默认为default
.default
关键字代表什么?
func NSLocalizedString(key: String, tableName: String? = default, bundle: NSBundle = default, value: String = default, #comment: String) -> String
这不是有效的Swift代码,它是动态生成的.
这里的default
表示有一些默认值,但生成器无法将其可视化,以便您看到它.默认值在技术上是一个内联函数,因此无法轻松转换为简单的声明.
你可以看到类似的声明
func assert(condition: @auto_closure () -> Bool,
_ message: StaticString = default,
file: StaticString = default,
line: UWord = default)
其中file
默认为#file
(Swift 1.x中为__FILE__
),line
默认为#line
(Swift 1.x中为__LINE__
).
在NSLocalizedString
的情况下,默认值是"Localizable"
,参考默认本地化文件Localizable.strings
.