Ab Swift 2 steht einem das Schlüsselwort guard zur Verfügung, welches in Ergänzung zur allseits bekannten if-Bedingung hinzugefügt wurde. Mit Hilfe von guard können Entwickler auf Bedingungen prüfen, die erwünscht sind anstatt nicht erwünscht, bedeutet: Der eigentliche Code wird nur ausgeführt, wenn die Bedingung nicht zutrifft.
Beispiel:
guard age > 21 else { return false } // Continue IF age is > 21 .... // Optional guard let z = z where z > 0 else { // Requirements not met return false } // Work with z print(z.name)
Vorteile beim Einsatz von guard:
- Die eigentlichen Absichten des Entwicklers sind eindeutiger: Man teilt guard mit welcher Fall konkret eintreten soll.
- Durch guard ausgepackte (=“unwrapped“) Optionals sind anschließend weiterhin verfügbar.
- Der Code insgesamt ist kürzer und übersichtlicher (Stichwort: „Pyramid of Doom„)