感谢【Air_天空_北京】投递的另一篇有价值的技巧文章。
以下是小空空的文:
============================================================
大家以前对于数组的随机可能都是先随机序,然后来取。
今天我和大家分享一个比较牛的随机方法, 说了这么多的字。。直接上代码:
NSMutableArray *tempArr = [[NSMutableArray alloc] initWithObjects:@"Kitty",@"Terry",@"Lily",@"Jim",@"Mary", nil];
NSArray *randArray = [tempArr sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) {
return arc4random() % 2 > 0.5 ? 1 : -1;
}];
NSLog(@"随机后:%@",randArray);
怎么样?是否很简单。
原理 : 数组可以排序,把所有元素当成数字,obj1和obj2 比较大小 ,返回 1 为 obj1 >obj2 , -1为 obj1<obj2 ,这样随机的返回 1 和 -1 ,就形成了随机数组
小编:
小空空的这个方法真是太牛了,牛是途牛的牛,途是途牛的途......