2016-04-26 16 views
1

Ich habe das folgende Stück Code in swift geschrieben:Parameter in Swift vorbei

func hai(greeting: String, times: Int) -> String { 
    return "You are greeted + \(greeting) + \(times) times " 
} 
hai ("Hello", times: 3) 

Wenn ich die Funktion hai nennen, wenn ich es so nennen die folgende Art und Weise hai("hello", 3) es einen Fehler wirft und zwingt mich, das nennen wie es oben erwähnt wurde.

Kann jemand bitte erklären, warum dies der Fall sein sollte? Danke, ich bin neu in der IOS Programmierung.

+0

var Ergebnis: String = self.hai ("Hallo", mal: 3) –

Antwort

3

Jeder Funktionsparameter in Swift hat zwei Namen, - eine interne und einen externen eins. Wenn Sie die Funktionssignatur wie gewohnt definieren, entspricht der externe Parametername times dem internen Namen. Sie können Swift sagen, dass Sie einen externen Namen wollen nicht von _ in der externen Namen Position platzieren:

func hai(greeting: String, _ times: Int) -> String 
//      ^

Erfahren Sie mehr über interne/externe Parameternamen in den Swift 2.2 Programming Language Guide.