ios10个随机数中取出4个互相不重复的数值

//10个随机数
NSMutableArray *arrayBegin = [[NSMutableArray alloc]initWithObjects:@"0",@"1",@"2",@"3",@"4",@"5",@"6",@"7",@"8",@"9",nil];
//结果存入的数组
NSMutableArray *arrayCunFang = [[NSMutableArray alloc]initWithCapacity:0];
for (int i=0;i<4;i++){
    //每次删除数组的一项数值,因此这里不能直接写10,而用数组的长度,防止出现数组越界
    int num = arc4random()%arrayBegin.count;
    arrayCunFang[i] = arrayBegin[num];
    UIImageView *bigView = [[UIImageView alloc]initWithImage:[UIImage imageNamed:[NSString stringWithFormat:@"b_%@.png",arrayCunFang[i]]]];
    //每次取随机值的时候将当前随机值的对应数换成数组最后一个数值,并且将原本的最后一个数值删除,这样数组也没重复数,已出现的随机值也不存在了,实现随机数的不重复,这样做每次只改变数组中最后一个元素的索引,可以保证别的元素索引不变

// arrayBegin[num] = [arrayBegin lastObject];
// [arrayBegin removeLastObject];
//每次的随机数移除,这样数组中的随机元素的索引后面的元素索引都将打乱
[arrayBegin removeObjectAtIndex:num];
bigView.frame = CGRectMake(30+70*(i%4), 100, 50, 50);
bigView.tag = i+1;
[self.view addSubview:bigView];

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值