通过递增NSInteger重用View Controller

时间:2015-12-15 02:02:58

标签: objective-c

编辑:我通过使用2个视图控制器而不是1来解决我自己的问题,并使用相同的方法,但现在来回传递值从一个到另一个。

假设我有一个名为 ViewController 的View Controller,并在 ViewController <的头文件中声明了一个名为 section NSInteger /强>

现在,我在视图控制器上有一个按钮,每次按下此按钮,我都会增加部分的值并按 ViewController

- (IBAction)nextAction:(id)sender
{
     ViewController *viewCon = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil];
     viewCon.section = viewCon.section + 1;
     [self.navigationController pushViewController:viewCon animated:YES];
}

我遇到的问题是当我按下此按钮时,部分从0增加到1,并且不会增加任何更高的值。你有什么建议?提前谢谢。

1 个答案:

答案 0 :(得分:1)

我遇到的问题是当我按下此按钮时,部分从0增加到1,并且不会增加任何更高的值。你有什么建议?

您正在将视图控制器创建为局部变量,因此,当弹出导航控制器堆栈时,它将被取消分配,您的视图控制器对象不再存在!

您应该让您查看控制器是包含您的nextAction方法的类的实例变量,并且在nextAction方法中,您应该检查您的视图控制器是否为nil,以及它是否初始化您的实例变量。完成此操作后,您应该增加分区计数器。