Mezclar aleatoriamente un NSMutableArray [Objective-C]
El objeto NSArray de Objective-C no tiene una función propia para mezclar aleatoriamente (suffle) los elementos del array.
Con este simple código podremos desordenar un NSMutableArray aleatoriamente. Para ello nos ayudaremos de los métodos exchangeObjectAtIndex para intercambiar elementos entre si dentro del array y arc4random() para obtener un número aleatorio que utilizaremos para hacer los intercambios de elementos.
1 2 3 4 5 6 7 | /* miArray es un NSMutableArray con algunos objetos */ NSUInteger count = [miArray count]; for (NSUInteger i = 0; i < count; ++i) { int nElements = count - i; int n = (arc4random() % nElements) + i; [miArray exchangeObjectAtIndex:i withObjectAtIndex:n]; } |
Muy útil y seguro que lo utilizamos más de una vez en nuestras aplicaciones y juegos para iOS.
Fuente: StackOverflow
seria posible con el arc4random sacar imágenes aleatorias?