使用arc4random函数生成唯一值

时间:2014-04-08 13:43:20

标签: ios objective-c arc4random

我正在为iPhone创建一个测验应用。目前我的问题是使用arc4random函数随机选择的。

问题是我希望每个问题只显示一次。有没有办法让arc4random函数生成唯一的数字,然后在生成所有可能的数字后停止?

这是我目前用来生成我的随机数:

QuestionSelected = arc4random() %4;

任何帮助都会很棒。

2 个答案:

答案 0 :(得分:2)

NSMutableArray *questions=[NSMutableArray new];
//creating an array to save questions
// Place in viewDidLoad
for(;;) {
    //randomly select question
    QuestionSelected = arc4random() % 4;
    //check if question contains this number
    //if it does - continue looping
    if(![questions containsObject:@(QuestionSelected)]){
        //so it doesn't - we add this number to array
        [questions addObject:@(QuestionSelected)];
        break;
        //and exit loop
    }

 }

多数人

答案 1 :(得分:1)

您可以在问题中使用NSMutableArray,并在选择问题时将其从数组中删除。在这种情况下,您将生成0到array.count - 1

之间的随机数