Palabra clave predeterminada en el parámetro Swift

Al leer el inicializador de NSLocalizedString , veo que algunos de los parámetros están predeterminados por default . ¿Qué representa la palabra clave default ?

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

Este no es un código Swift válido, se genera sobre la marcha.

El default aquí significa que hay algún valor predeterminado, pero el generador no puede visualizarlo correctamente para que lo pueda ver. El valor predeterminado es técnicamente una función en línea, por lo tanto, no se puede convertir fácilmente a una statement simple.

Puedes ver declaraciones similares para assert

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

Donde el file predeterminado es #file ( __FILE__ en Swift 1.x) y line predeterminada en #line ( __LINE__ en Swift 1.x).

En el caso de NSLocalizedString , el valor predeterminado es "Localizable" , haciendo referencia al archivo de localización predeterminado Localizable.strings .