//0 到 N - 1 之间的随机整数
NSUInteger r = arc4random_uniform(N);//1 到 N 之间的随机整数
NSUInteger r = arc4random_uniform(N) + ;//0 到 1 之间的随机浮点数(double)
srand48(time());
double r = drand48(); //NSArray 选择一个随机元素
if ([array count] > ) {
id obj = array[arc4random_uniform([array count])];
}//随机排序一个 NSArray
NSMutableArray *mutableArray = [NSMutableArray arrayWithArray:array];
NSUInteger count = [mutableArray count];
if (count > ) {
for (NSUInteger i = count - ; i > ; --i) {
[mutableArray exchangeObjectAtIndex:i withObjectAtIndex:arc4random_uniform((int32_t)(i + ))];
}
}
NSArray *randomArray = [NSArray arrayWithArray:mutableArray];//生成一个随机的小写 NSString
NSString *letter = [NSString stringWithFormat:@"%c", arc4random_uniform() + 'a'];//从一个 NSString 选择一个随机字符
NSString *vowels = @"aeiouy";
NSString *letter = [vowels substringWithRange:NSMakeRange(arc4random_uniform([vowels length]), )];
arc4random 不需要初始种子(用 srand 或 srandom),使它更加容易使用。
arc4random 范围可达 0x100000000 (4294967296),而 rand 和 random 的上限在 RAND_MAX = 0x7fffffff (2147483647)。
rand 经常定期被周期低位的方式,使其更可预测执行。