在我们做项目的时候有时候会需要一些乱序的数组,即每次显示的顺序不同,我们可以使用苹果官方的一个方法
- (NSArray *)sortedArrayUsingComparator:(NSComparator)cmptr NS_AVAILABLE(10_6, 4_0);
下面展示一个例子
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
NSArray *arry=@[@"上海",@"北京",@"天津",@"重庆",@"香港",@"台湾",@"澳门"];
[self randamArry:arry];
}
- (void)randamArry:(NSArray *)arry
{
// 对数组乱序
arry = [arry sortedArrayUsingComparator:^NSComparisonResult(NSString *str1, NSString *str2) {
int seed = arc4random_uniform(2);
if (seed) {
return [str1 compare:str2];
} else {
return [str2 compare:str1];
}
}];
for (NSString *str in arry) {
NSLog(@"%@", str);
}
}
结果为:
2016-02-25 23:10:15.519 123[9767:455027] 香港
2016-02-25 23:10:15.520 123[9767:455027] 天津
2016-02-25 23:10:15.520 123[9767:455027] 重庆
2016-02-25 23:10:15.520 123[9767:455027] 上海
2016-02-25 23:10:15.520 123[9767:455027] 北京
2016-02-25 23:10:15.520 123[9767:455027] 台湾
2016-02-25 23:10:15.521 123[9767:455027] 澳门
每调一次的结果都是不同的