2010-12-04 40 views

Répondre

4

Voir ce post pour trier un tableau contenant les objets NSDate:

Sort NSArray of date strings or objects

et la mine pour éliminer le temps:

Truncate NSDate (Zero-out time)

ADDITION

1) Boucle grâce à votre tableau d'objets NSDate, rem Oving (mise à zéro) les composants de temps, et en les ajoutant à un nouveau tableau:

NSMutableArray *newDateArray = [NSMutableArray array]; 
for (NSDate *d in myDateArray) 
{ 
    unsigned int flags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit; 
    NSCalendar* calendar = [NSCalendar currentCalendar]; 
    NSDateComponents* components = [calendar components:flags fromDate:d]; 
    //Taking the time zone into account 
    NSDate *dateOnly = [[calendar dateFromComponents:components] dateByAddingTimeInterval:[[NSTimeZone localTimeZone]secondsFromGMT]]; 
    [newDateArray addObject:dateOnly]; 
} 

2) Maintenant que vous avez un nouveau tableau constitué d'objets NSDate avec des composants de temps remis à zéro, vous pouvez les trier:

[newDateArray sortUsingSelector:@selector(compare:)]; 

Cette ligne trie la matrice à l'aide de la méthode de comparaison de l'objet NSDate.

+0

Pourriez-vous passer quelques minutes combinant les messages, merci :) –

+1

@Jonathan: J'ai ajouté un échantillon de code. –