当int已经在我的数组中时,如何返回并获得新的随机int?

时间:2014-08-10 21:36:25

标签: ios arrays nsmutablearray

我生成随机整数,将它们放在NSNumber中并将它们保存在我的数组中。现在我怎么说"当数字已经在我的数组中时,返回并获得一个新数字?"

iD = arc4random() %50;
idnumber = [NSNumber numberWithInt:iD];

if ([idarray containsObject:idnumber])
{
    NSLog(@"id is in array");
    //go back

}else{
    NSLog(@"id is not in array");
    [idarray addObject:idnumber];
    //do something
}

感谢您的回答并抱歉我的英语不好。

1 个答案:

答案 0 :(得分:1)

这是对do/while循环的好用:

if (idarray.count < 50) {
    NSInteger value;
    do {
        value = arc4random_uniform(50);
    } while ([idarray containsObject:@(value)]);

    [idarray addObject:@(value)];
}

还要注意arc4random_uniform的使用和现代拳击语法的使用。