我最近在这里得到了一些帮助,学会了如何在将应用程序放入后台、终止和重新启动时恢复文本字段、按钮状态等。
我现在想弄清楚的是,当使用导航栏中的后退箭头返回主菜单时,如何保持相同的信息。当然,当我在子视图上填写完信息后,点击返回按钮进入主菜单,我的所有用户字段和按钮状态都会重置为初始状态。
我不确定你可能想在这里看到什么代码。我很乐意提供任何东西,但我不太确定什么是相关的。
我的应用程序设置非常简单。它看起来像这样:
--->导航控制器---->主菜单---->计算器
主菜单嵌入导航控制器中。我只需要能够从计算器返回主菜单,而不会丢失用户在计算器字段中输入的数据。
提前谢谢。
编辑-这是我用来保存和恢复数据的一般状态保存/恢复-添加代码:
-(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];
}
有多种方法可以存储/恢复数据。。
- 您可以创建
Singleton class
并在其中存储/检索数据那 - 您可以在
NSUserDefaults
中存储/检索数据 - 您可以将数据存储在例如
sqlite
的数据库中/从中检索数据,CoreData
- 您可以在文本文件、plist等文件中存储/检索数据。文件
这取决于你,什么最适合你。但是,您可以将数据保存在viewDidUnload
或viewWillDisappear
中,并在计算器视图控制器的viewDidLoad
或viewWillAppear
中检索数据。
我最近在一些帮助下找到了如何恢复文本字段、按钮状态等,终止和重新启动。
因此,您似乎拥有存储和检索数据的机制。
现在,当您返回主菜单时,您只需将数据保存在viewWillDisappear
委托中,并在计算器控制器的viewWillAppear
方法中恢复数据。
希望这能有所帮助。