Nice programing

Swift 3에서 함수의 클로저 매개 변수를 어떻게 문서화합니까?

nicepro 2020. 12. 25. 22:56
반응형

Swift 3에서 함수의 클로저 매개 변수를 어떻게 문서화합니까?


Xcode 8 베타 및 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 :) 빠른 도움말

"설명 없음"을 대체 할 텍스트를 작성할 수있는 구문이 무엇인지 알고 싶습니다. 감사합니다!


내가 아는 한, 클로저 매개 변수에 레이블을 지정하는 경우에만 문서화 할 수 있습니다.

/// 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 참조 ).

참조 URL : https://stackoverflow.com/questions/38669725/how-do-you-document-the-parameters-of-a-functions-closure-parameter-in-swift-3

반응형