数组的升序和降序
- (void)sortWith:(NSArray *)array
{
// 排序
array = [array sortedArrayUsingComparator:^NSComparisonResult(NSNumber *num1, NSNumber *num2) { /**
1 4 5 2
4 1 5 2
4 1 5 2
5 4 1 2
5 4 1 2
5 4 2 1
*/
NSLog(@"%@ %@", num1, num2); // 升序
// return [num1 compare:num2];
// 降序
return [num2 compare:num1];
}]; NSLog(@"%@", array);
}
乱序
// 块代码
NSArray *array = @[@(), @(), @(), @(), @()]; // 排序
array = [array sortedArrayUsingComparator:^NSComparisonResult(NSNumber *num1, NSNumber *num2) { // 乱序=>一会升序,一会降序
// 随机
// arc4random_uniform(10) => 0~9之间的随机数
int seed = arc4random_uniform();
if (seed) {
return [num1 compare:num2];
} else {
return [num2 compare:num1];
}
}]; NSLog(@"%@", array);