我设置了两个视图:ViewControllerOne和ViewControllerTwo。
在我的ViewControllerTwo中,我有一个数字变量(dataValue),我在一个文本字段中输入了该文本变量,以后将其用作计算中的浮点值。

用户可以移动到另一个类视图(ViewControllerOne),但是当他们返回到ViewControllerTwo时,在文本字段中输入的变量将不会保留,并返回到我在ViewControllerTwo.m文件中定义的默认值。

我怎样才能让我的ViewControllerTwo记住我的dataValue?

我已经@synthesized我的dataValueTextField并在ViewControllerTwo.m中定义了我的默认dataValue:

@synthesize dataValueTextField;
float dataValue = 1.00;


然后,稍后,我将dataValueTextField转换为浮点值:

float textFieldData = [dataValueTextField.text floatValue];
dataValue = textFieldData;


但是当我来回切换视图时,它永远不会记住dataValue。我是否需要向viewWillDisappear中添加某些内容,还是需要向viewWillDisappear或ViewWillAppear方法中添加某些内容?
任何帮助,将不胜感激。我一直在努力尝试各种尝试而徒劳无功。
谢谢。

最佳答案

是否有可能在切换视图时,它实际上每次都在创建视图控制器的新实例?这可能解释了将值重置为默认值的原因。另一种可能性是,您已将代码设置为默认值,该默认值是从事件回调调用的,该回调在每次显示视图时都会触发。您可以尝试注销所有事件处理程序,并查看在视图之间切换时调用了什么。

关于objective-c - 在 View 之间来回切换时保留值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7958485/

10-14 21:10