Описание тега guard-statement

Оператор защиты используется для передачи управления программой за пределы области действия, если одно или несколько условий не выполняются.

guard - это условный оператор, который требует выполнения для выхода из текущего блока, если условие не выполняется.

Синтаксис:

guard <condition> else {
    <statements>
}

Значение любого условия в операторе защиты должно иметь тип, соответствующий протоколу BooleanType, он также может быть необязательным объявлением привязки.

Любые константы или переменные, которым присвоено значение из необязательного объявления привязки в условии оператора защиты, могут использоваться для остальной части охватывающей области оператора защиты.

Например:

guard let value = someOptional else {
     // someOptional is nil, value is not accessible
     return
}

// do something with the value
// value is available here