Swift参数中的默认关键字

Luc*_*uke 53 ios swift

在读取初始值设定项时,NSLocalizedString我看到某些参数默认为某个值default.什么是default关键词代表什么?

func NSLocalizedString(key: String, tableName: String? = default, bundle: NSBundle = default, value: String = default, #comment: String) -> String
Run Code Online (Sandbox Code Playgroud)

Sul*_*han 88

这不是一个有效的Swift代码,它是动态生成的.

default这里意味着有一些默认值,但发电机不能想像它适合你才能看到它.默认值在技术上是内联函数,因此无法轻松转换为简单声明.

你可以看到类似的声明 assert

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

file默认为#file(__FILE__斯威夫特1.x中)和line默认#line(__LINE__斯威夫特1.x中).

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

  • 谢谢!我用谷歌搜索了这个,但仅仅登陆了非信息化的Apple页面.但是当我在这里输入我的问题时,我立即得到了这个有用的答案:-) (4认同)