В качестве дополнения к ответу rmaddy, причина , почему ваш код возвращает nil
является то, что вы пытаетесь преобразовать DateComponents
в Date
без указания
Calendar
.
Если это преобразование выполняется с помощью календарного метода
let calendar = Calendar.current
let components = calendar.dateComponents([.day, .month, .year], from: Date())
let date = calendar.date(from: components)
или если вы добавляете календарь к компонентам даты
let calendar = Calendar.current
let date = calendar.dateComponents([.day, .month, .year, .calendar], from: Date()).date
тогда вы получите ожидаемый результат.