NEW: Join my free 100 Days of SwiftUI challenge today! >>

Bedingte Ausführung

Manchmal möchte man Code nur dann ausführen, wenn eine bestimmte Bedingung erfüllt ist und in Swift ist dies vorwiegend durch if- und else-Statements repräsentiert. Man übergibt Swift eine Bedingung, die überprüft werden soll, dann einen Code-Block, der ausgeführt wird, wenn diese Bedingung erfüllt ist.

Optional kann man auch else schreiben und einen Code-Block übergeben, der ausgeführt wird, falls die Bedingung nicht erfüllt wird, oder sogar else if und noch mehr Bedinungen abdecken. Ein Code-"Block" ist dabei ein Stück Code, welcher mit einer offenen, geschweiften Klammer - { - am Anfang und einer geschlossenen, geschweiften Klammer - } - am Ende markiert ist.

Hier ein einfaches Beispiel:

var action: String
var person = "hater"

if person == "hater" {
    action = "hate"
}

Dies benutzt den == (Gleichheits-)Operator, den wir schon kennen, um zu schauen, ob der String in person exakt mit dem String "hater" übereinstimmt. Wenn dem so ist, setzt dies die action-Variable auf "hate". Bitte beachte die offenen und geschlossenen Klammern - gerne auch mal weniger technisch als "curly brackets" bezeichnet - welche den Anfang und das Ende des Codes markieren, welcher ausgeführt wird, wenn die Bedingung wahr ist.

Lass uns else if- und else-Blöcke hinzufügen:

var action: String
var person = "hater"

if person == "hater" {
    action = "hate"
} else if person == "player" {
    action = "play"
} else {
    action = "cruise"
}

Dies wird jede Bedingung nacheinander überprüfen und nur einer der Blöcke wird ausgeführt: Eine Person ist entweder ein Hater, ein Player oder irgendwas anderes.

Mehrere Bedingungen überprüfen

Du kannst Swift jede Anzahl an Bedingungen prüfen lassen, die Du möchtest, aber alle müssen wahr sein, damit Swift den Code-Block ausführt. Um mehrere Bedingungen zu prüfen, benutze den &&-Operator - er bedeutet "und". Als Beispiel:

var action: String
var stayOutTooLate = true
var nothingInBrain = true

if stayOutTooLate && nothingInBrain {
    action = "cruise"
}

Weil stayOutTooLate und nothingInBrain beide wahr sind, ist die ganze Bedingung war und action wird auf "cruise" gesetzt. Swift benutzt etwas, das man "short-circuit evaluation" nennt, um die Performance zu erhöhen: Wenn es mehrere Dinge überprüft, die wahr sein sollen und das erste davon ist falsch, wird es den Rest nicht mehr auswerten.

Die Suche nach dem Gegenteil der Wahrheit

Dies mag jetzt sehr philosophisch klingen, aber ist sehr wichtig: Manchmal ist es wichtig, zu schauen, ob eine Bedinung nicht wahr ist, also falsch. Du kannst dies mit dem ! (Nicht-)Operator erreichen, welcher schon an einer frühen Stelle vorgestellt wurde. Als Beispiel:

if !stayOutTooLate && !nothingInBrain {
    action = "cruise"
}

Dieses mal wird die action-Variable nur gesetzt, wenn stayOutTooLate und nothingInBrain beide falsch sind - das ! hat die beiden Werte umgedreht.

LEARN SWIFTUI FOR FREE I have a massive, free SwiftUI video collection on YouTube teaching you how to build complete apps with SwiftUI – check it out!

MASTER SWIFT NOW
Buy Testing Swift Buy Practical iOS 12 Buy Pro Swift Buy Swift Design Patterns Buy Swift Coding Challenges Buy Server-Side Swift (Vapor Edition) Buy Server-Side Swift (Kitura Edition) Buy Hacking with macOS Buy Advanced iOS Volume One Buy Advanced iOS Volume Two Buy Hacking with watchOS Buy Hacking with tvOS Buy Hacking with Swift Buy Dive Into SpriteKit Buy Swift in Sixty Seconds Buy Objective-C for Swift Developers Buy Beyond Code

Was this page useful? Let us know!