Voulez jamais de randomiser un tableau d'éléments? C'est une tâche qui, pour une raison quelconque, j'ai eu à faire beaucoup dans les programmes récents. Alors, j'ai écrit une catégorie très pratique sur NSArray de gérer la tâche.
NSArray-Shuffle.h
NSArray-Shuffle.m
NSArray-Shuffle.h
#import
@interface NSArray(Shuffle)
-(NSArray *)shuffledArray;
@end
NSArray-Shuffle.m
#import "NSArray-Shuffle.h"
@implementation NSArray(Shuffle)
-(NSArray *)shuffledArray
{
NSMutableArray *array = [NSMutableArray arrayWithCapacity:[self count]];
NSMutableArray *copy = [self mutableCopy];
while ([copy count] > 0)
{
int index = arc4random() % [copy count];
id objectToMove = [copy objectAtIndex:index];
[array addObject:objectToMove];
[copy removeObjectAtIndex:index];
}
[copy release];
return array;
}
@end
Aucun commentaire:
Enregistrer un commentaire