Swift参数中的默认关键字



当读取NSLocalizedString的初始化器时,我看到一些参数默认为值defaultdefault关键字代表什么?

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

最新更新