0

我真的想不通这个。我有一个名为 AdditionalMathViewController 的 VC,它向用户显示问题。如果用户回答错误,用户将被定向到另一个 VC,它是 AdditionalMathViewController 的子类,称为不正确的ViewController。

#import "ViewController.h"
@interface additionalmathViewController : ViewController{
int currentQuestion;
}

currentQuestion 是一个计数器变量,它增加了用户正确回答问题的所有内容,并且可以显示另一个问题。如果用户把问题弄错了,我想去不正确的ViewController。这是我的代码

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

如果用户选择 A 并且正确,则显示另一个问题。如果是错误的执行 Segue 到不正确的ViewController

#import "additionalmathViewController.h"
@interface IncorrectImageViewController : additionalmathViewController

这里我想从additionalMathViewController中获取currentQuestion的值

incorrectImage.image = [UIImage imageNamed:left[currentQuestion]];

此当前图像不是附加数学视图控制器的值

有任何想法吗?

4

1 回答 1

0

新的视图控制器是一个新的实例,因此不知道前一个实例的值是什么。您需要将 currentQuestion 值传递给prepareForSegue方法中的新控制器。

将 currentQuestion 设为属性

@interface IncorrectImageViewController
  @property (copy) NSInteger currentQuestion;
..

然后在 prepareForSegue 中设置目标控制器上的值。

@implementation additionalmathViewController

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    IncorrectImageViewController *incorrect = [segue destinationViewController];
    incorrect.currentQuestion = self.currentQuestion;
}
于 2013-03-20T18:10:30.737 回答