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)"))