我正在为iPhone创建一个测验应用。目前我的问题是使用arc4random
函数随机选择的。
问题是我希望每个问题只显示一次。有没有办法让arc4random
函数生成唯一的数字,然后在生成所有可能的数字后停止?
这是我目前用来生成我的随机数:
QuestionSelected = arc4random() %4;
任何帮助都会很棒。
答案 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