NSPredicate para filtrar entre duas datas do tipo NSString

Eu tenho alguns dados (comoNSDictionary em umNSMutableArray), uma amostra de dados é como,

Considere cada linha comoNSDictionary e toda a tabela é umaNSMutableArray contém eventos.

Quero resultar entre duas datas, então estou usandoNSPredicate para filtrar meus dados.

Aqui está o meu trecho de código para isso,

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"Date >=  %@ AND
Date <=  %@", startDate,endDate];

NSArray *filter = [arrayEvents filteredArrayUsingPredicate:predicate];

Filtragem de teste:

Caso 1:

NSString *startDate = @"01/07/14";
NSString *endDate = @"31/07/2014";

Resultado: Todos os eventos (linhas).

Caso 2:

NSString *startDate = @"20/07/14";
NSString *endDate = @"31/07/2014";

Resultado: Últimos quatro eventos (linhas).

Caso 3:

NSString *startDate = @"11/07/14";
NSString *endDate = @"20/07/2014";

Resultado: Apenas o segundo evento (linha).

Caso 4:

NSString *startDate = @"01/08/14";
NSString *endDate = @"31/08/2014";

Resultado: Todos os eventos (linhas).

Conclusão:

Os casos 1, 2 e 3 estão corretos, enquanto o caso 4 está incorreto.

Notas:

Data é do tipoNSStringO formato da data é data-mês-ano (ou seja, dd / MM / aaaa)A mesma data par de resultado é formatada com- hyphen ao invés de/ (forward slash)Mesmo resultado, mesmo que tenhamos alterado o formato da data mês-data-ano (isto é, MM / dd / aaaa)

Alguém por favor me ajude o que estou fazendo de errado aqui? Falta alguma coisa? Eu sei que existem algumas outras perguntas, mas nenhuma delas me ajudou.

questionAnswers(3)

yourAnswerToTheQuestion