Swift 2.0: guard (охранный оператор)

В swift 1.2 мы использовали if, когда делали привязку опционала (optional binding), но проблема в том, что приведенное к типу значению мы могли использовать только внутри блока if

Поэтому ввели оператор guard, который в отличии от if не имеет тела в случае успеха, только обязательный else в случае если привязка типа закончилась без успеха. Обычно в этом else пишут об ошибке приведения, и возвращают управление. Зато после выполнения guard, дальнейший код имеет доступ к произведенной привязке и может ее использовать, это уменьшает вложенности if‘ов

Как видим после выполнения guard остальной код внутри функции может пользоваться константой constantName, имеющей приведенный тип Int
что самое приятное, после guard приведений может быть несколько

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *