我正在尝试创建一个不会重复问题的基本测验应用程序。我看过几个例子,相信我应该将问题存储在一个数组中,然后在每次使用时从数组中删除一个。我试过下面的代码。
- (void)viewDidLoad
{
//The array of questions
NSMutableArray *questionArray = [[NSMutableArray alloc] initWithObjects:
[NSMutableArray arrayWithObjects:@"First Question",@"Answer A", nil],
[NSMutableArray arrayWithObjects:@"Second Quesiton",@"AnswerA",@"AnswerB", nil],
nil];
//remove used question from array
for (int i = questionArray.count; i>=0; --i) {
_questions = [questionArray objectAtIndex:arc4random() % questionArray.count];
[questionArray exchangeObjectAtIndex:i withObjectAtIndex:_questions];
}
//use array object
self.lblQuestion.text = [_questions objectAtIndex:0];
[self.btnA setTitle:[_questions objectAtIndex:1] forState:UIControlStateNormal];
[super viewDidLoad];
}
我收到以下警告:指向整数转换的不兼容指针将 NSMutableArray*_strong 发送到“NSUInteger”类型的参数
我认为这意味着我不应该使用另一个数组来存储随机问题,因为我不能使用它来从数组中删除问题。但是我不知道该怎么做?
我完全误解了我应该如何去做吗?