//
// Pour l'exemple on créer 4 points de coordonnées x et y
//
NSDictionary *test1 = [NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects:[NSNumber numberWithInt:1],[NSNumber numberWithInt:10],nil] forKeys:[NSArray arrayWithObjects:@"x",@"y",nil]];
NSDictionary *test2 = [NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects:[NSNumber numberWithInt:3],[NSNumber numberWithInt:3],nil] forKeys:[NSArray arrayWithObjects:@"x",@"y",nil]];
NSDictionary *test3 = [NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects:[NSNumber numberWithInt:2],[NSNumber numberWithInt:1],nil] forKeys:[NSArray arrayWithObjects:@"x",@"y",nil]];
NSDictionary *test4 = [NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects:[NSNumber numberWithInt:3],[NSNumber numberWithInt:2],nil] forKeys:[NSArray arrayWithObjects:@"x",@"y",nil]];
//
// On génère le tableau de points en vrac et on trace ce que ça donne
//
NSArray *list = [NSArray arrayWithObjects:test1,test2,test3,test4,nil];
NSLog(@"En desordre:\n%@",[list description]);
//
// On trie avec un descripteur en x et on trace ce que ça donne
//
NSSortDescriptor* sortDescriptorX = [[[NSSortDescriptor alloc] initWithKey:@"x" ascending:YES] autorelease];
NSArray *listX = [list sortedArrayUsingDescriptors:[NSArray arrayWithObject:sortDescriptorX]];
NSLog(@"En ordre par x:\n%@",[listX description]);
//
// On trie avec le descripteur en x plus un second en y et on trace ce que ça donne
//
NSSortDescriptor* sortDescriptorY = [[[NSSortDescriptor alloc] initWithKey:@"y" ascending:YES] autorelease];
NSArray *listXY = [list sortedArrayUsingDescriptors:[NSArray arrayWithObjects:sortDescriptorX,sortDescriptorY,nil]];
NSLog(@"En ordre par x puis y:\n%@",[listXY description]);
Partager