[英]Keep UI data when navigating between views
在我的测试项目中,我在导航控制器中嵌入了一个ViewController和一个TableViewController控制器。 ViewController是主视图,用户可以导航到TableViewController,然后返回到ViewController。
当我从ViewContoller> TableViewController进入时,我正在使用'push'命令,并且使用[self dismissViewControllerAnimated:YES completion:nil];
来关闭TableViewController [self dismissViewControllerAnimated:YES completion:nil];
当用户希望返回ViewController时。
在ViewController中,我有一个按钮可以更改标签上的文本:
-(IBAction)onButtonPress:(id)sender {
_myLabel.text = @"New Label Text";
}
导航到TableView之后再返回到ViewController时, _myLabel.text中的更改已丢失,并且原始文本已恢复 。 在视图之间导航时,确保保留UI数据的最佳方法是什么? 在这个项目中,我可能只有一个标签,但是到某个时候,我将有很多UI元素,例如,WebView,当用户离开然后返回时,需要保持页面加载。
您认为实现此目标的最佳方法是什么?
谢谢你的时间。
首先,视图是您的数据表示形式,任何数据都是您的模型。 因此,您可以将模型及其实体和值存储起来。 您的控制器管理数据以在View上表示数据或根据View中的用户操作更改模型。
因此,添加一些用于存储_myLabel.text
模型对象。 并将此对象用于应用程序中的两个控制器。
尝试从ViewWillAppear
或ViewDidAppear
方法中删除设置文本,将其放在ViewDidLoad
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.