2016-06-16 2 views
0

스위프트 2에서 공용 클래스에 대한 정적 메서드를 오버로드하려고했습니다.Swift - 정적 메서드 오버플로

어떻게 가능합니까?

static func test(message: String) -> Void)?) { ### } 

static func test(message: String, number: Int) -> Void)?) { ### } 
+1

질문에 구문 오류가 있습니다. Drop')?)'기호를 사용하면 코드가 작동합니다. –

답변

0

그것은 당신이 정확하게 뭘 하려는지 불분명하지만, 두 개의 추가 닫는 괄호가있다 : 이것은 내가 달성하고자하는 것과 유사하다. 클로저 인수를하려는 것 같습니다. 의도는 첫 번째 방법 (두 번째의 String & Int)에서 String 인수를하고 Void를 반환하는 경우

, 다음 구문은 다음과 같아야합니다

static func test(message: String) { /* implementation */ } 

static func test(message: String, number: Int) { /* implementation */ } 

를하지만, 경우 의도는 String 소요 아무것도 돌려주지 않는 옵션 폐쇄을하는 것입니다, 다음 구문은 다음과 같습니다 : 다음

static func test(closure: ((String) -> Void)?) { 
    // implementation 
} 

그리고이 경우 CLO Int :

static func test(closure: ((String, Int) -> Void)?) { 
    // implementation 
} 
+0

응답을 주셔서 감사합니다. 예. 여기에 서둘러 샘플 함수를 작성 했으므로 몇 가지 추가 대괄호를 추가했습니다. 그러나 당신이 당신의 대답의 맨 위에 무엇을 제안했는지는 제가 사용하려고 시도했지만 작동하지 않는 것 같습니다! – Illinois47

+0

"작동하지 않는 것 같습니다."는 문제에 대한 설명이 아닙니다. @ Illinois47 도움이 필요하면 더 많은 세부 사항을 제공해야합니다. – nhgrif