#include <stdlib.h>
int r = 0;
if (arc4random_uniform != NULL)
r = arc4random_uniform (arr.count);
else
r = (arc4random() % arr.count);
int randomNumberFromArray=[arr objectAtIndex:r];
EDIT
Bingo.After некоторые мысли я сделал это работает
-(NSArray *)randomizeArray:(NSArray *)inputArray
{
NSMutableArray *checkArray=[[NSMutableArray alloc]initWithCapacity:3];
NSMutableArray *outputArray=[[NSMutableArray alloc]initWithCapacity:3];
while ([outputArray count]<[inputArray count])
{
int r=[self getRandomNumber:[inputArray count]];
if ([checkArray containsObject:[NSNumber numberWithInt:r]])
{
}
else
{
[checkArray addObject:[NSNumber numberWithInt:r]];
[outputArray addObject:[inputArray objectAtIndex:r]];
}
}
return outputArray;
}
-(int)getRandomNumber:(int)maxValue
{
int r = 0;
if (arc4random_uniform != NULL)
r = arc4random_uniform (maxValue);
else
r = (arc4random() % maxValue);
return r;
}
Этот randomizeArray:
метод даст вам целый ряд рандомизированных
Вы пробовали 'INT R = arc4random()% 5;', как если вы хотите '0 'в' 4'? – Buntylm
Конечно, будут повторения, потому что они генерируются «случайно». Если бы для генерации был образец, то он не был бы назван случайным справа? –
Вы имеете в виду, что вам нужно почувствовать массив по уникальным номерам в случайном порядке? Еще один код может помочь получить вашу идею – voromax