在视图之间导航时保​​留UI数据

时间:2014-08-25 08:35:21

标签: ios objective-c iphone xcode uiviewcontroller

在我的测试项目中,我有一个ViewController和一个嵌入在导航控制器中的TableViewController控制器。 ViewController是主视图,用户可以导航到TableViewController,然后返回ViewController。

我正在使用'推送'从ViewContoller> TableViewController开始时的segue,当用户希望返回ViewController时,使用[self dismissViewControllerAnimated:YES completion:nil];解除TableViewController。

在ViewController中,我有一个按钮可以更改标签上的文字:

-(IBAction)onButtonPress:(id)sender {
      _myLabel.text = @"New Label Text";
}

导航到TableView,然后返回ViewController时, _myLabel.text中的更改已丢失,原始文本已恢复。在视图之间导航时,确保保留UI数据的最佳方法是什么?我可能在这个项目中只有一个标签,但在某些时候我会有很多UI元素,例如,当用户导航然后返回时需要保持页面加载的WebView。

您认为实施此方法的最佳方法是什么?

感谢您的时间。

2 个答案:

答案 0 :(得分:0)

首先,View是您的数据表示,任何数据都是您的模型。因此,您可以使用其实体和值存储Model。您的控制器管理数据以在View上表示它或根据View中的用户操作更改Model。

因此添加一些Model对象来存储_myLabel.text。并将此对象用于应用程序中的两个控制器。

答案 1 :(得分:0)

尝试删除ViewWillAppearViewDidAppear方法中的文字设置,并将其放入ViewDidLoad