NSLog mostrando la fecha anterior

Quiero recuperar todas las entradas de los datos centrales agregados entre dos fechas. Estoy usandoNSPredicate. Como no obtengo el resultado correcto, intenté registrar la fecha. Está mostrando las fechas anteriores. Después de buscar en Google por un tiempo, agregué

[dateFormatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]]; a mi código. Ahora, muestra las fechas correctas pero los resultados siguen siendo incorrectos.

Este es el código que he usado.

NSDate *fromDate = [[self dateFormatter]dateFromString:self.fromDateField.text];
NSLog(@"%@",fromDate);
NSDate *toDate = [[self dateFormatter]dateFromString:self.toDateField.text];
NSLog(@"%@",toDate);
NSComparisonResult result = [fromDate compare:toDate];
switch (result) {
    case NSOrderedAscending:
    {
        //code
    }

- (NSDateFormatter *)dateFormatter
{
static NSDateFormatter *dateFormatter = nil;
if (dateFormatter == nil) 
{
    dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateStyle:NSDateFormatterMediumStyle];
    [dateFormatter setTimeStyle:NSDateFormatterNoStyle];
    [dateFormatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];
}
   return dateFormatter;
}

Gracias por adelantado

Respuestas a la pregunta(1)

Su respuesta a la pregunta