Funktionen und Parameter
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)