Я уже отправил еще один вопрос по этому поводу, но, похоже, никто не знал, как это сделать.
Я хочу, чтобы мое приложение выбрало для меня случайный XIB-файл, но не используйте те, которые уже были выбраны случайным образом.
Итак, вот то, что я настроил на данный момент, похоже, это работает, но я должен продолжать нажимать кнопку снова и снова, пока не найдет тот, который не используется.
-(IBAction)continueAction:(id)sender{
random = arc4random() % 2;
if (random == 0 && usedQ2 == 0) {
Question_2 *Q2 = [[Question_2 alloc] initWithNibName:@"Question 2" bundle:nil];
Q2.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentModalViewController:Q2 animated:YES];
[Q2 release];
}
else if (random == 1 && usedQ3 == 0) {
Question_3 *Q3 = [[Question_3 alloc] initWithNibName:@"Question 3" bundle:nil];
Q3.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentModalViewController:Q3 animated:YES];
[Q3 release];
}
}
Итак, как вы можете видеть, я выбираю его из случайного числа, а из их - того, которое ему соответствует.
Тогда вы можете видеть, что у меня есть другая часть моего оператора if, проверяющая, чтобы убедиться, что он не использовался ранее.
каждый файл NIB имеет свой собственный usedQ (независимо от того, что это за Q), и когда этот файл NIB загружается, он использует этот usedQ как 1.
Я думаю, что я мог бы добиться этого, но чтобы избавиться от постоянного нажатия кнопки, мне придется поместить множество операторов else с большим количеством операторов else в них.
Я также попытался запустить
random = arc4random() % 2;
в операторе while и for, я надеялся, что он будет искать номер, пока тот, который не будет использован, не будет найден без удачи.
Любая помощь? спасибо!