一尘不染

Swift参数中的默认关键字

swift

当读取a的初始化程序时,NSLocalizedString我看到一些参数默认为value default。什么是default关键词代表什么?

func NSLocalizedString(key: String, tableName: String? = default, bundle: NSBundle = default, value: String = default, #comment: String) -> String

阅读 280

收藏
2020-07-07

共1个答案

一尘不染

这不是有效的Swift代码,它是即时生成的。

default这里意味着有一些默认值,但发电机不能想像它适合你才能看到它。从技术上来说,默认值是一个内联函数,因此不能轻易将其转换为简单的声明。

您可以看到类似的声明 assert

func assert(condition: @auto_closure () -> Bool,
            _ message: StaticString = default,
                 file: StaticString = default,
                 line: UWord = default)

其中file默认为#file__FILE__在Swift 1.x中)和line默认为#line__LINE__在Swift
1.x中)。

在的情况下NSLocalizedString,默认值为"Localizable",引用默认的本地化文件Localizable.strings

2020-07-07