苹果官方做法
//对数组随机排序
- (NSArray *)sortedRandomArrayByArray:(NSMutableArray *)array{
NSArray *randomArray = [[NSArray alloc]init];
randomArray = [array sortedArrayUsingComparator:^NSComparisonResult(NSString *str1, NSString *str2) {
int seed = arc4random_uniform(2);
if (seed) {
return [str1 compare:str2];
} else {
return [str2 compare:str1];
}
}];
return randomArray;
}
如果数组中元素是对象,用下面的方法
//对数组随机排序
- (NSMutableArray *)sortedRandomArrayByArray:(NSMutableArray *)array{
NSMutableArray *randomArray = [[NSMutableArray alloc]init];
while (randomArray.count != array.count) {
int x = arc4random() % array.count;
id obj = array[x];
if(![randomArray containsObject:obj]){
[randomArray addObject:obj];
}
}
return randomArray;
}
网友评论