Funktionen und Parameter

von @ralfebert · aktualisiert am 3. November 2021
Xcode 13 & Swift 5.5
Swift Kurzreferenz

Mit func werden Funktionen definiert. Parameter sind benannt und müssen beim Aufruf der Funktion in der vorgegebenen Reihenfolge übergeben werden:

func greeting(name: String, city: String) -> String {
    let greeting = "Hello \(name)!"
    print(greeting)
    return greeting
}

print(greeting(name: "Alice", city: "Aachen"))

Bei der Deklaration einer Funktion kann der Parameter-Name (der Name für die Implementierung der Funktion) und das Argument Label (der Name für den Aufrufer) unterschiedlich gewählt werden:

func myFunction( argumentLabel parameterName: Int) {
    print(parameterName)
}

func greet(name: String, from city: String) {
    print("Hello \(name) from \(city)!")
}

myFunction(argumentLabel: 5)
greet(name: "Bob", from: "Berlin")

Mit _ als Argument Label kann ein unbenannter Parameter definiert werden, der beim Aufruf nicht geschrieben wird:

func greet( _ name: String, from city: String) {
    print("Hello \(name) from \(city)!!")
}

greet("Carol", from: "Cologne")

Verwendung von Initializern, Methodenaufrufe, Eigenschaften

Werte werden in Swift mit dem Aufruf „Typname(...)“ initialisiert. In dem folgendem Beispiel werden Arrays explizit über Initializer des Array-Typs erzeugt:

var emptyArray1 = Array<String>()
var emptyArray2 = [String]()
var array = Array(repeating: "A", count: 3) // ["A", "A", "A"]

Methoden werden analog zu Funktionen mit benannten Parametern aufgerufen, beispielsweise:

let words = ["bird", "tree", "house"]
let str = words.joined(separator: ",")

array.insert("B", at: 0)
array.append("C")

Klassen können Eigenschaften (Properties) deklarieren, die gelesen und je nach Deklaration auch gesetzt werden können, zum Beispiel:

let count = array.count

Auch Wertetypen wie Int können Eigenschaften und Methoden haben, beispielsweise:

let number = 5
number.isMultiple(of: 2)

Weitere Informationen