iOS之数组、获取不重复随机数数组

方法一: 

 

 //每次点击之前,清空随机数数组,

    if(self.randomArr &&self.randomArr.count){

        [self.randomArrremoveAllObjects];

    }

==============

 

//获取到num个不同的随机数就返回随机数数组

-(NSMutableArray *)getDifferentRandomWithNum:(NSInteger )num{

    if(self.randomArr &&self.randomArr.count>0){

        [self.randomArrremoveAllObjects];

    }

    

    NSInteger random;

    for (;;) {

        

        random=arc4random_uniform(11);//随机数0-10

        NSLog(@"random--%tu",random);

        if(self.randomArr.count==0){

            [self.randomArraddObject:[NSNumbernumberWithInteger:random]];

           

           continue;//进行下一次循环

            

        }

        

        BOOL isHave=[self.randomArrcontainsObject:[NSNumbernumberWithInteger:random]];//判断数组中有没有

        if(isHave){

            

            continue;

        }

        [self.randomArraddObject:[NSNumbernumberWithInteger:random]];

        if(self.randomArr.count==num){

            returnself.randomArr;

        }

      

        

    }//self.randomArr是存储随机数的数组,如果是在按钮点击是获取随机数,在按钮点击的开始就要把数组清空,防止连续数组内容叠加

}

 

 方法二:   

    //获取不同的随机数;还有一种思路;吧要生成的随机数范围放到数组中,然后生成随机数作为数组的index,然后每生成一个随机index后,吧对应的数组中的数删除;

    

 

 

            NSIndexSet *secIndexset = [NSIndexSet indexSetWithIndexesInRange:NSMakeRange(self.selectrow+1,strongS.secresourceArray.count )];//设置一个范围

            [strongS.resourceArray insertObjects:strongS.secresourceArray atIndexes:secIndexset];//在总数据中插入新数组

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值