Подтвердить что ты не робот

Как вы документируете параметры параметра закрытия функции в Swift 3?

В Xcode 8 beta и Swift 3, когда у вас есть метод, который принимает закрытие в качестве параметра, например:

func foo(bar: (String) -> Void) {
    bar("Hello, world")
}

Как вы регистрируете параметры, которые занимает закрытие? Например, если я написал это:

/// Calls bar with "Hello, world"
/// - parameter bar: A closure to call
func foo(bar: (String) -> Void) {
    bar("Hello, world")
}

Тогда быстрая помощь выглядит так:

foo (bar:) Quick Help

Я хотел бы знать, что такое синтаксис, который позволит мне написать текст для замены "Нет описания". Большое спасибо!

4b9b3361

Ответ 1

Насколько я знаю, вы можете документировать только параметры закрытия, если вы их помечаете:

/// 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")
}

Это меньше идеала: он заставляет вас использовать метку аргумента, когда вы вызываете закрытие, и если есть конфликты именования, нет никакого способа различать эти два.

Изменить. Как указывал @Arnaud, вы можете использовать _, чтобы не было необходимости использовать метку параметра при вызове закрытия:

/// 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")
}

Фактически, это единственный действительный подход в Swift 3, потому что метки параметров больше не являются частью системы типов (см. SE-0111).

Ответ 2

Пожалуйста, попробуйте ссылку ниже, может вам помочь

Нажмите nshipster !

Нажмите appcoda !

Нажмите useyourloaf !