在阅读NSLocalizedString
的初始值设定项时,我发现某些参数默认为值default
。 default
关键字代表什么?
func NSLocalizedString(key: String, tableName: String? = default, bundle: NSBundle = default, value: String = default, #comment: String) -> String
答案 0 :(得分:88)
这不是一个有效的Swift代码,它是即时生成的。
这里的default
表示存在一些默认值,但生成器无法直观地显示它。默认值在技术上是内联函数,因此无法轻松转换为简单声明。
您可以看到assert
func assert(condition: @auto_closure () -> Bool,
_ message: StaticString = default,
file: StaticString = default,
line: UWord = default)
file
默认为#file
(Swift 1.x中为__FILE__
),line
默认为#line
(__LINE__
在Swift 1中.X)。
如果是NSLocalizedString
,则默认值为"Localizable"
,引用默认的本地化文件Localizable.strings
。