funciones - ¿Cómo documenta los parámetros del parámetro de cierre de una función en Swift 3?
entrada de datos en swift (1)
En Xcode 8 beta y Swift 3, cuando tiene un método que toma un cierre como parámetro, por ejemplo:
func foo(bar: (String) -> Void) {
bar("Hello, world")
}
¿Cómo documenta los parámetros que toma el cierre? Por ejemplo, si escribí esto:
/// Calls bar with "Hello, world"
/// - parameter bar: A closure to call
func foo(bar: (String) -> Void) {
bar("Hello, world")
}
Entonces la ayuda rápida se ve así:
Me gustaría saber cuál es la sintaxis que me permitirá escribir algún texto para reemplazar "Sin descripción". ¡Muchas gracias!
Que yo sepa, solo puede documentar los parámetros de cierre si los etiqueta:
/// Calls bar with "Hello, world"
/// - parameter bar: A closure to call
/// - parameter theString: A string to use
func foo(bar: (theString: String) -> Void) {
bar(theString: "Hello, world")
}
Esto es menos que ideal: te obliga a usar una etiqueta de argumento cuando llamas al cierre, y si hay conflictos de nombres, parece que no hay forma de distinguir entre los dos.
Editar
: como señaló @Arnaud, puede usar
_
para evitar tener que usar la etiqueta de parámetro al llamar al cierre:
/// Calls bar with "Hello, world"
/// - parameter bar: A closure to call
/// - parameter theString: A string to use
func foo(bar: (_ theString: String) -> Void) {
bar("Hello, world")
}
De hecho, este es el único enfoque válido en Swift 3 porque las etiquetas de parámetros ya no son parte del sistema de tipos (ver SE-0111 ).