0

これで難しいこともあります。plistから質問、回答、正解を読み込んでいます。すべてのデータは正常に読み取られており、以下のようになります

- (void)viewDidLoad
{
[super viewDidLoad];
rootArray = [NSArray arrayWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"question" ofType:@"plist"]];   
 currentQuestion = -1;
[self showNextQuestion];
}
-(void) showNextQuestion{
        currentQuestion++;
   int numItems = [rootArray count];
    NSMutableArray *question = [NSMutableArray arrayWithCapacity:numItems];
    NSMutableArray *A = [NSMutableArray arrayWithCapacity:numItems];
    NSMutableArray *B = [NSMutableArray arrayWithCapacity:numItems];
    NSMutableArray *C = [NSMutableArray arrayWithCapacity:numItems];
    NSMutableArray *addimage = [NSMutableArray arrayWithCapacity:numItems];
    NSMutableArray *Answer = [NSMutableArray arrayWithCapacity:numItems];
   for (NSDictionary *itemData in rootArray) {
    [question addObject:[itemData objectForKey:@"question"]];
    [A addObject:[itemData objectForKey:@"A"]];
    [B addObject:[itemData objectForKey:@"B"]];
    [C addObject:[itemData objectForKey:@"C"]];
    [addimage addObject:[itemData objectForKey:@"ImageUse"]];
    [Answer addObject:[itemData objectForKey:@"ANS"]];
}
self.questionasked.text = question[currentQuestion];
self.answer1.text = A[currentQuestion];
self.answer2.text = B[currentQuestion];
self.answer3.text = C[currentQuestion];
additionImage.image = [UIImage imageNamed:addimage[currentQuestion]];
self.correctAns = Answer[currentQuestion];
if(currentQuestion == 4){
   [ self performSegueWithIdentifier:@"levelclear" sender:nil];// here I am performing a segue to indicate that when 4 questions are displayed it will go to this view controller
}
}

VCには3つのボタンがあり、オプションA、B、Cごとに1つあり、すべて機能があります。

- (IBAction)SelectA:(id)sender {
if ([self.correctAns isEqualToString:@"A"]) {
    currentQuestion ++;
    [self showNextQuestion];
}
else{
    [self performSegueWithIdentifier:@"incorrect" sender:nil];
}
}
- (IBAction)SelectB:(id)sender {

if ([self.correctAns isEqualToString:@"B"]) {
    currentQuestion ++;
[self showNextQuestion];
}
else{
    [self performSegueWithIdentifier:@"incorrect" sender:nil];

}
}
- (IBAction)SelectC:(id)sender {

if ([self.correctAns isEqualToString:@"C"]) {
    currentQuestion ++;
[self showNextQuestion];
}
else{
    [self performSegueWithIdentifier:@"incorrect" sender:nil];
}
}

質問に正しく答えると、次の質問に移ります。しかし、私がそれを間違って答えると、それは間違った質問に通知する間違ったVCに行きます。このVCには、ボタンを押して質問VC(ストーリーボードで作成したもの)に戻るときにセグエがあります。質問VCに戻りますが、最初の質問に戻ります。私はそれがcurrentQuestionに関するものであることを知っていますが、何がわからないのです。

4

1 に答える 1

0

間違った答えにセグエすると、質問のView Controllerが破壊され、それに戻ると再作成されるように見えます。

于 2013-03-14T14:39:36.057 に答える