当读取NSLocalizedString
的初始化器时,我看到一些参数默认为值default
。default
关键字代表什么?
func NSLocalizedString(key: String, tableName: String? = default, bundle: NSBundle = default, value: String = default, #comment: String) -> String
这不是一个有效的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
(Swift 1.x中为__LINE__
)。
对于NSLocalizedString
,默认值为"Localizable"
,引用默认的本地化文件Localizable.strings