Содержание

nil - полное отсутствие какого-либо значения, аналог Null, не пустая строка, не пустое значение… Что то типа вакуума )

var name: Sting? = nill

1. Жесткое (прямое) извлечение из опционала - unwraping - "!":

var name: Sting? = «Dima»

print(«\(name!)»)

Так можно делать если на 100% уверен что внутри опционала есть значение.

2. Мягкое извлечение из-под опционала с помощью ответвлений

3. Оператор объединения по nil / Оператор оционального связывания

var name: String? = nil
var defaultName = "Gost'"
let nameForGreating = name ?? defaultName
print("\(nameForGreating)")

Проверка идет слева направо. сначала проверяется опционал, если там есть значение -х берем его, иначе значение из второй переменной «defaultName»

Пример работы с тернальным оператором:

var name: String = «Dima»

var age:Int? = 37

age != nil ? (print(«Имя \(name),возраст \(age!)»)) : (print(«Имя \(name)»))