Como obter NSDate para 00:00 no dia de [NSDate date]?

Eu preciso obter um objeto NSDate para 00:00 (início do dia) a partir de [data NSDate], digamos que, se atualmente é 11:30 am (retornado por [data NSDate]), em 01/06/2012, agora eu precisa ter um NSDate para 00:00 em 01/06/2012.

Eu não tentei isso, mas o que está em minha mente é:

NSDate *now = [NSDate date];
NSCalendar *calendar = [NSCalendar currentCalendar];
NSDateComponents *components = [calendar components:(NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit) fromDate:now];
[components setHour:0];
[components setMinute:0];
[components setSecond:0];
NSDate *morningStart = [calendar dateFromComponents:components];

Então, primeiro recebo a data atual (digamos que é 01/06/2012) e construo um NSDateComponent para a data, em seguida, defino hora / minuto / segundo para 0 e o ano / mês / dia não deve ser alterado (por exemplo, 01 / 06/2012) então eu crio um NSDate para essa configuração de componente e posso obter uma data de 00:00:00 01/06/2012?

questionAnswers(3)

yourAnswerToTheQuestion