Я столкнулся с этим глупым поведением в swift, где принудительное разворачивание необязательно не распространяется.
Из документации:
Попытка использовать! для доступа к несуществующему необязательному значению запускается ошибка времени выполнения. Всегда проверяйте, чтобы опциональное значение содержало ненулевое значение перед использованием! чтобы развернуть ее значение.
Воспроизведение:
func foo(bar:String?) throws{
print(bar!);
}
и
try foo(nil);
Это не кажется логичным или последовательным для меня, и я не могу найти документацию по этому вопросу.
Это по дизайну?