我是Xcode中的新手,我当然遇到了一个问题,我们大多数人都这样做。我正在尝试为IPhone创建类似“测验”的游戏,以提高我的“技能”。我现在面临的一个问题是,我的第一个视图控制器有一个名为currentPoint的变量,因为玩家每次尝试猜测测验时都会收到“警报视图”。但是我已经完成了正确答案的增量(意思是; currentPoint ++),因此“警报视图”显示了实际的当前点。这是我的问题所在:
当第二个问题得到解答并且我们到达下一个视图控制器时,我的currentPoint变量再次变为0。无论你在整个测验中有多少次正确回答,你都会以0分结束。如何将以前的currentPoint变量传输到下一个视图控制器?
在Java中,您可以通过执行以下操作来使用上一个类:
previousClass a = new previousClass;
a.currentPoint ++;
因此,前一个currentPoint(假设它是3)现在已经有一个增量,因此它将高一个(即4)。我如何在Xcode中做到这一点(请注意我是初学者)。
我希望我的问题能被理解,我希望你们能以适合我的方式回答我,因为我是初学者(例如告诉我是否应该添加.h或者。 m文件等。)
我已经长时间环顾四周寻找这个问题了,但我不明白答案,因为他们的情况不是100%像我的情况,而且我是初学者。如果这看起来或者是 - 就像本网站上的另一个问题,我感到非常抱歉。
答案 0 :(得分:1)
您必须使用Segue在View Controllers之间传递值。您必须使用以下方法:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([segue.identifier isEqualToString:@"SegueIdentifier"]) {
NextViewController *nextController = segue.destinationViewController;
// add code to pass values to variables of nextController
nextController.scoreVariable = self.score;
}
}
您可以参考此处了解详情:http://www.appcoda.com/storyboards-ios-tutorial-pass-data-between-view-controller-with-segue/
编辑 - 如果您在下一个视图控制器中定义了scoreVariable
并且在当前视图控制器中定义了score
,则可以使用上面的代码。