Как рассчитать правильные и неправильные ответы в тестовом приложении iphone для английского языка? - PullRequest
1 голос
/ 18 ноября 2011

Я пишу небольшое приложение, например, тест по английскому с несколькими вариантами ответов. У меня много вопросов, у каждого вопроса мало вариантов, есть только один правильный ответ.

Пользователь выбирает вариант ответа, затем нажимает «Далее», чтобы отобразить другой вопрос. Я могу сделать, пока не узнаю, выбрал ли пользователь неправильный или правильный ответ. Но закончите вопрос. Я не знаю, как рассчитать, сколько правильных или неправильных ответов. Потому что пользователь может вернуться, чтобы изменить выбор ответа. Вот код, пожалуйста, помогите мне изменить правильный код.

-(IBAction) checkButtonPressed:(UIButton *) sender{
    for(int i=0;i<[self.arrayButtons count];i++){
        [[self.arrayButtons objectAtIndex:i] setImage:[UIImage imageNamed:@"chkUnChecked.png"] forState:UIControlStateNormal];
    }
    NSLog(@"sender tag: %d", sender.tag);
    [sender setImage:[UIImage imageNamed:@"chkChecked.png"] forState:UIControlStateNormal];
    TrainEnglishAppDelegate *delegate = (TrainEnglishAppDelegate*)[UIApplication sharedApplication].delegate; 
    NSDictionary *item = [delegate.fullQuestion objectAtIndex:z];
    NSString *correctAnswer = [item objectForKey:@"correct"];
    NSArray *answers = [item objectForKey:@"answers"];
    NSString *answer = [answers objectAtIndex:sender.tag];

    if ([answer isEqualToString:correctAnswer]) {
        ++numberCorrect; 
        NSLog(@"did correct");
    } else
    {
        if (numberCorrect > 0) {
            --numberCorrect;
        } else
        {
            ++numberWrong;
        }
        NSLog(@"did wrong");
    }
}

PS: если пользователь не может вернуться, чтобы исправить свой выбор, это намного проще. Но требование так сказать. Я не уверен сейчас. Пожалуйста, помогите.

1 Ответ

3 голосов
/ 18 ноября 2011

Я сделал нечто подобное (хотя и более сложное), и я обнаружил, что единственный разумный способ сделать это - сохранить «карту результатов» со всеми ответами и не генерировать «счет» до конца , в это время я сканирую обратно через «систему показателей» и суммирую. Попытка сохранить «текущий счет», хотя это возможно, просто не является надежным способом сделать это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...