Avatar ·

¿Cómo agregar 1 día a NSDate en Swift? Problema con DateComponents

¡Hola a todos! Soy un desarrollador iOS principiante y escribo en Swift. Me encontré con una tarea aparentemente simple: necesito tomar la fecha actual, agregarle exactamente 1 día y obtener una nueva fecha. ¡Pero nada funciona! Aquí está mi código: ```swift let currentDate = NSDate() let tomorrow = currentDate.addingTimeInterval(60 * 60 * 24) // 24 horas en segundos print(tomorrow) ``` El problema es que durante el cambio de horario de verano/invierno, 24 horas no siempre son exactamente 1 día. Por ejemplo, en primavera un día puede durar 23 horas, y en otoño, 25. Debido a esto, obtengo la hora incorrecta. Además, si quiero agregar 1 mes o 1 año, este enfoque no sirve en absoluto. Sé que en Objective-C se usaban `NSDateComponents` y `NSCalendar` para esto, pero en Swift me confundo con la nueva API. Intenté escribir así: ```swift let calendar = Calendar.current var components = DateComponents() components.day = 1 let tomorrow = calendar.date(byAdding: components, to: currentDate as Date) ``` Pero `currentDate as Date` es