码迷,mamicode.com
首页 > 编程语言 > 详细

OC之打乱对象数组

时间:2020-05-04 21:35:03      阅读:81      评论:0      收藏:0      [点我收藏+]

标签:结果   color   数组   返回   scom   函数的参数   ios开发   函数   tor   

最近在学习ios开发,使用OC语言。

遇到需要打乱对象数组的需求,解决方式如下:

- (NSArray *) randomArr:(NSArray *)arr
{// 对数组乱序
    arr = [arr sortedArrayUsingComparator:^NSComparisonResult(People *p1, People *p2) {
        //生成0或1
        int seed = arc4random_uniform(2);
        NSLog(@"%d",seed);
        if (seed) {
            return 1;
        } else {
            return -1;
        }
    }];
    return arr;
}

其中要点为:

1.People类为自定义的类,传入函数的参数是People的对象数组。

2.使用比较器Comparator进行数组元素的两两比较。

3.使用arc4random_uniform(2)返回的结果为0或1,概率分别为50%,作为种子,随机选择返回-1或1,从而决定是否互换数组元素的位置。

4.函数最后返回成功乱序的对象数组。

OC之打乱对象数组

标签:结果   color   数组   返回   scom   函数的参数   ios开发   函数   tor   

原文地址:https://www.cnblogs.com/luoyihao/p/12828077.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!