我使用以下代码隐藏我的 rand_btns NSMutableArray中的UIButton。
int random = arc4random_uniform ([rand_btns count]);
if (random != level - 1) {
[[rand_btns objectAtIndex:random] setHidden:YES];
} else {
// call again this method
}
效果很好,但......重复一遍。如何停止重复OR以检查我的rand_btns数组中的UIButton是否被隐藏,不需要再次包含此objectAtIndex。
我的意思是,如果使用我的代码,我可以隐藏我的数组中的随机按钮,除了特定的objectAtIndex。
我想不再重复 int random
中的数字答案 0 :(得分:2)
您可以参考此Non-repeating arc4random_uniform。如果您想检查您的按钮是否已隐藏,可以查看button.hidden
属性。
答案 1 :(得分:2)
如果你想要一个不重复的随机数字序列,一种方法是用一个连续的数字填充一个数组,然后将这个数字随机排序。这样,您就知道每个数字只出现一次,但您无法预测数字出现的顺序。
答案 2 :(得分:1)
随机数可以重复,因为它们是随机的。您可能需要保存到目前为止已经提供的随机数列表,并且当您想要一个新号码时,请继续尝试,直到您得到一个不在您列表中的号码。还要注意,如果你正在寻找一个迄今为止没有的数字,那么迟早你会遇到一个无限循环,因为最终你想要的范围内没有更多的“免费”数字< / p>