Cómo determinar día, mes y año como int en iOS

Quiero determinar el día, el mes y el año de la date actual en iOS. Encontré esto después de una búsqueda en la networking:

NSDate *date = [NSDate date]; NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar]; NSDateComponents *components = [calendar components:(NSDayCalendarUnit) fromDate:date]; NSInteger Day = [components day]; NSInteger month = [components month]; NSInteger year = [components year]; 

Este código muestra el día correcto, pero el año y el mes no se muestran como deberían ser. Muestra algunos dígitos como 2147483647. No pude encontrar una solución así que por favor ayúdame a corregir el código que encontré o escribir un nuevo código que haga lo que necesito.

Esta línea es el problema:

 NSDateComponents *components = [calendar components:(NSDayCalendarUnit) fromDate:date]; 

Debería ser

 NSDateComponents *components = [calendar components:(NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit) fromDate:date];