segunda-feira, 25 de junho de 2012

Função - Embaralhar NSMutableArray

Função para você embaralhar um NSMutableArray um determinado número de vezes.

  1. //Aplicação do método
  2. NSMutableArray * array = [[NSMutableArray alloc]  initWithObjects:@"1", @"2", @"3", @"4", @"5", nil];
  3. [self shuffleMutableArray:&array frequency:10];
  4.  
  5. //Método para embaralhar arrays
  6. +(void)shuffleMutableArray:(NSMutableArray **)array frequency:(int)f
  7. {    
  8.     for (int i = 0; i < f; i++) {
  9.         int randA,randB;
  10.         do {
  11.             randA = (random() % [*array count] -i)+i;
  12.             randB = (random() % [*array count] -i)+i;
  13.         } while (randA==randB);        
  14.         [*array exchangeObjectAtIndex:randA withObjectAtIndex:randB];
  15.     }
  16. }
  17.