【发布时间】:2014-04-08 13:43:20
【问题描述】:
我正在为 iPhone 创建一个测验应用程序。目前我的问题是使用arc4random 函数随机选择的。
问题是我希望每个问题只显示一次。有没有办法让arc4random 函数生成唯一的数字,然后在它生成所有可能的数字后停止?
这是我目前用来生成我的随机数的:
QuestionSelected = arc4random() %4;
任何帮助都会很棒。
【问题讨论】:
-
一个解决方案:创建一个由 k 个元素组成的数组(带有您的问题的 id)。然后: int index = arc4Randcom()%[theArray count];你会得到 [theArray objectAtIndex:index] 的问题。然后,删除问题:[theArray removeObjectAtIndex:index];
-
您要查找的内容称为“随机排列”或“随机洗牌”。
-
Y 前段时间使用过 Larme 方法
-
使用@Larme和
arc4random_uniform([theArray count])提到的方法。arc4random_uniform的原因可以在这里找到:stackoverflow.com/questions/160890/… -
我的回答有用吗?
标签: ios objective-c arc4random