Es ist unklar, was Sie versuchen, genau das zu tun, aber es gibt zwei zusätzliche schließenden Klammer. Sieht es so aus, als ob Sie versuchen, ein Abschlussargument zu führen?
Wenn die Absicht, eine String
Argument in der ersten Methode zu nehmen ist (und ein String
& Int
in der zweiten) und Void
zurück, dann sollten Sie Ihre Syntax wie folgt aussehen:
static func test(message: String) { /* implementation */ }
static func test(message: String, number: Int) { /* implementation */ }
Wenn jedoch die Absicht ist, eine optionale Verschluss zu nehmen, die eine String
und gibt nichts zurück nimmt, dann sieht die Syntax wie folgt aus:
static func test(closure: ((String) -> Void)?) {
// implementation
}
und dann, wenn die CLO sicher, nimmt auch ein Int
:
static func test(closure: ((String, Int) -> Void)?) {
// implementation
}
Es gibt nur Syntaxfehler in Ihrer Frage. Drop ')?)' Symbole in beiden Methoden und Ihr Code wird funktionieren. –