更改视图控制器导致重置更改

时间:2015-12-28 17:19:20

标签: ios objective-c xcode viewcontroller

我有两个视图控制器。在第二个控制器上,我有一个按钮,使UILabel从“larry”变为字符串“happy”。如果我按回来,它带我去第一个查看控制器,然后转发,它带我到第二个视图控制器(从第一个视图控制器)。我发现UILabel改回默认状态,“拉里”。我如何做到这一点,以便当我更改视图控制器时,更改和数据不会被清除。

回顾:如何使视图控制器中的每个更改在更改为另一个视图控制器后都不会更改回默认值。

这不仅发生在UILable上,也发生在

self.loadPage.hidden = YES;

我还发现,在我向前和向后按下之后,我所做的转向'隐藏'也会出现。

感谢

2 个答案:

答案 0 :(得分:0)

问题是每次从第一个视图控制器转到第二个视图控制器时,您正在初始化第二个视图控制器的新实例,它会将您更改的每个值恢复为默认值。

您需要将值保存在其他位置,并在控件从一个视图控制器切换到另一个视图控制器时分配这些值

答案 1 :(得分:0)

您面临的问题是,当您按下按钮时,会创建第二个视图控制器的新实例,并且旧实例将被销毁。

如果要在按下按钮的同时保留数据,则需要某种方法将信息存储在某处 有一些方法可以实现它

  1. 您可以在两个类中使用实例变量来临时存储数据并显示它们。您还需要了解协议和委托的概念。

  2. 您可以将信息存储在NSUserDefaults中一段时间​​,以便以后可以访问它。