从子类访问Root类中的variables的值

我真的不知道这一个。 我有一个名为additionalMathViewController的VC,向用户显示问题。 如果用户不正确地回答,则用户被引导到另一个VC,该VC是additionalMathViewController的子类,称为incorrectViewController。

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

currentQuestion是一个计数器variables,它增加了用户正确的问题的一切,并可以显示另一个问题。 如果用户得到错误的问题,我想去错误的ViewController。 这是我的代码

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

如果用户selectA并且正确显示另一个问题。 如果它是错误的执行segue到不正确的viewController

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

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

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

此当前图像不是来自additionalmathViewController的值

有任何想法吗?

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

使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; }