使用导航栏返回时,防止重置视图控制器中的用户字段



我最近在这里得到了一些帮助,学会了如何在将应用程序放入后台、终止和重新启动时恢复文本字段、按钮状态等。

我现在想弄清楚的是,当使用导航栏中的后退箭头返回主菜单时,如何保持相同的信息。当然,当我在子视图上填写完信息后,点击返回按钮进入主菜单,我的所有用户字段和按钮状态都会重置为初始状态。

我不确定你可能想在这里看到什么代码。我很乐意提供任何东西,但我不太确定什么是相关的。

我的应用程序设置非常简单。它看起来像这样:

--->导航控制器---->主菜单---->计算器

主菜单嵌入导航控制器中。我只需要能够从计算器返回主菜单,而不会丢失用户在计算器字段中输入的数据。

提前谢谢。

编辑-这是我用来保存和恢复数据的一般状态保存/恢复-添加代码:

-(void)encodeRestorableStateWithCoder:(NSCoder *)coder
{
// start level text
[coder encodeObject:_startLevel.text forKey:@"startText"];
[super encodeRestorableStateWithCoder:coder];
}
-(void)decodeRestorableStateWithCoder:(NSCoder *)coder
{
// start level text
_startLevel.text = [coder decodeObjectForKey:@"startText"];
[super decodeRestorableStateWithCoder:coder];
}

有多种方法可以存储/恢复数据。。

  1. 您可以创建Singleton class并在其中存储/检索数据那
  2. 您可以在NSUserDefaults中存储/检索数据
  3. 您可以将数据存储在例如sqlite的数据库中/从中检索数据,CoreData
  4. 您可以在文本文件、plist等文件中存储/检索数据。文件

这取决于你,什么最适合你。但是,您可以将数据保存在viewDidUnloadviewWillDisappear中,并在计算器视图控制器的viewDidLoadviewWillAppear中检索数据。

我最近在一些帮助下找到了如何恢复文本字段、按钮状态等,终止和重新启动。

因此,您似乎拥有存储和检索数据的机制。

现在,当您返回主菜单时,您只需将数据保存在viewWillDisappear委托中,并在计算器控制器的viewWillAppear方法中恢复数据。

希望这能有所帮助。

最新更新