Avatar ·

Como adicionar 1 dia a NSDate em Swift? Problema com DateComponents

Olá a todos! Sou um desenvolvedor iOS iniciante, escrevendo em Swift. Me deparei com uma tarefa aparentemente simples: preciso pegar a data atual, adicionar exatamente 1 dia e obter uma nova data. Mas nada funciona!\n\nAqui está meu código:\n\n```swift\nlet currentDate = NSDate()\nlet tomorrow = currentDate.addingTimeInterval(60 * 60 * 24) // 24 horas em segundos\nprint(tomorrow)\n```\n\nO problema é que, durante a transição para horário de verão/inverno, 24 horas nem sempre são exatamente 1 dia. Por exemplo, na primavera o dia pode ter 23 horas, e no outono, 25. Por causa disso, estou obtendo a hora errada. Além disso, se eu quiser adicionar 1 mês ou 1 ano, essa abordagem simplesmente não funciona.\n\nEu sei que em Objective-C usava-se `NSDateComponents` e `NSCalendar` para isso, mas em Swift estou confuso com a nova API. Tentei escrever assim:\n\n```swift\nl