ios 数组打乱

2019-04-28  本文已影响0人  kangomake
苹果官方做法
//对数组随机排序
- (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;
}
上一篇 下一篇

猜你喜欢

热点阅读