Como ordenar a matriz que contém data em seqüências de caracteres em ordem decrescente? [duplicado]

Esta questão já tem uma resposta aqui:

NSDateFormatter retorna data incorreta da string 3 respostas

Eu quero classificar a matriz que contém seqüência de data em ordem decrescente, tentei respostas SO, mas estou recebendo saída errada.

Por favor, veja meu código como abaixo:

NSArray *dateArray=[NSArray arrayWithObjects:@"01/12/2012",@"01/26/2011",@"02/09/2005",@"02/24/2006",@"03/19/2007",@"07/14/2011",@"08/17/2007",@"10/04/2007",@"10/31/2006",@"12/05/2012",@"12/06/2006",@"12/23/2008",nil];
NSDateFormatter *formatter=[[NSDateFormatter alloc]init];
[formatter setDateFormat:@"MM/DD/YYYY"];
NSMutableArray *tempArr=[[NSMutableArray alloc]init];
for (int i=0; i<[dateArray count]; i++) {

    NSString *dt=[dateArray objectAtIndex:i];
    NSDate *newDt=[formatter dateFromString:dt];
    [tempArr addObject:newDt];
}
NSLog(@"tempArr is %@",tempArr);

Estou recebendo a saída do console como abaixo:

2013-08-27 15: 29: 50.418 exemplo [3688: c07] tempArr is ("2011-12-24 18:30:00 +0000", "2010-12-18 18:30:00 +0000", " 2004-12-18 18:30:00 +0000 "," 2005-12-24 18:30:00 +0000 "," 2006-12-23 18:30:00 +0000 "," 2010-12-18 18:30:00 +0000 "," 2006-12-23 18:30:00 +0000 "," 2006-12-23 18:30:00 +0000 "," 2005-12-24 18:30:00 +0000 "," 2011-12-24 18:30:00 +0000 "," 2005-12-24 18:30:00 +0000 "," 2007-12-22 18:30:00 +0000 ")

Eu não sei porque "12" está chegando no lugar do mês e também o formato de data não vem como o formato que eu especifiquei.

questionAnswers(3)

yourAnswerToTheQuestion