Vuelva a organizar NSArray / MSMutableArray en orden aleatorio

Estoy usando una matriz NSArray / NSMutable para almacenar diferentes objetos. Una vez que se hayan agregado todos los objetos, quiero reorganizarlos en orden aleatorio. ¿Cómo puedo hacerlo?

NSUInteger count = [yourMutableArray count]; for (NSUInteger i = 0; i < count; ++i) { // Select a random element between i and end of array to swap with. int nElements = count - i; int n = (arc4random() % nElements) + i; [yourMutableArray exchangeObjectAtIndex:i withObjectAtIndex:n]; } 
 // the Knuth shuffle for (NSInteger i = array.count-1; i > 0; i--) { [array exchangeObjectAtIndex:i withObjectAtIndex:arc4random_uniform(i+1)]; } 

Enlace GameplayKit / GameplayKit.h en su proyecto, luego

 #import  

Ahora puede usar la propiedad shuffledArray.

 NSArray *randomArray = [yourArray shuffledArray];