Czy jest lepszy sposób na znalezienie jutro północy?

Czy jest lepszy sposób, aby to zrobić?

-(NSDate *)getMidnightTommorow {
    NSCalendarDate *now = [NSCalendarDate date];
    NSCalendarDate *tomorrow = [now dateByAddingYears:0 months:0 days:1 hours:0 minutes:0 seconds:0];
    return [NSCalendarDate dateWithYear:[tomorrow yearOfCommonEra]
                                  month:[tomorrow monthOfYear]
                                    day:[tomorrow dayOfMonth]
                                   hour:0
                                 minute:0
                                 second:0
                               timeZone:[tomorrow timeZone]];
}

Zauważ, że zawsze chcę następnej północy, nawet jeśli zdarzy się, że jest północ, kiedy wykonam to połączenie, jednak jeśli zdarzy się, że będzie to 23:59:59, oczywiście chcę północy, która nadchodzi w ciągu jednej sekundy.

Funkcje języka naturalnego wydają się niestabilne i nie jestem pewien, co zrobiłoby Cocoa, gdybym przekazał 32 w polu „dzień”. (Gdyby to zadziałało, mogłem zrezygnować z połączenia [teraz dateByAddingYears: ...])

questionAnswers(5)

yourAnswerToTheQuestion