Swift参数中的默认关键字
在读取NSLocalizedString
的初始值设定项时,我发现有些参数默认为default
。 default
关键字代表什么?
func NSLocalizedString(key: String, tableName: String? = default, bundle: NSBundle = default, value: String = default, #comment: String) -> String
这不是一个有效的Swift代码,它是在飞行中生成的。
这里的默认值意味着有一些默认值,但是生成器不能将其视觉化,以供您查看。 默认值在技术上是内联函数,因此不能轻易转换为简单的声明。
你可以看到类似的assert
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
。