Цель принудительной распаковки

В быстрой документации вы можете найти это:

if convertedNumber != nil {
    println("convertedNumber has an integer value of \(convertedNumber!).")
}
// prints "convertedNumber has an integer value of 123." 

С этим объяснением

Убедившись в том, что дополнительный компонент содержит значение, вы можете получить доступ к его базовому значению, добавив восклицательный знак (!) В конце имени дополнительного элемента. Восклицательный знак фактически говорит: «Я знаю, что эта опция определенно имеет значение; пожалуйста, используйте его ». Это называется принудительным развертыванием значения необязательного кода:

Хорошо, понял, но в чем его польза? Не было бы то же самое, если бы я не принудительно развернул, как:

if convertedNumber != nil {
    println("convertedNumber has an integer value of \(convertedNumber).")
}
// prints "convertedNumber has an integer value of 123."

Спасибо, что просветили меня :)

Ответы на вопрос(2)

Ваш ответ на вопрос