重新打开应用程序时如何显示相同的视图

时间:2010-06-19 15:13:33

标签: iphone iphone-sdk-3.0

我有一个tableview,它显示了一个关于表中某一行的webview,它反过来从sqlite中获取数据。如果用户在查看webview中的描述时按住主页键关闭应用程序并在有时重新打开它,我应该让用户看到相同的屏幕。如何再次显示相同的视图?什么是有效的方式?

2 个答案:

答案 0 :(得分:5)

我认为最简单的方法是将应用程序的状态存储在NSUserDefaults中。 UIApplication上有一个委托方法叫做:

- (void)applicationWillTerminate:(UIApplication *)application

当用户退出应用程序时,将调用此委托方法。这是您可以将应用程序的状态保存到NSUserDefaults的时间。但请注意,你不能在那里做时间密集的事情。如果你这样做,你会被操作系统杀死。

在您的情况下,为什么不直接存储用户在NSUserDefaults中选择的行,然后签入 -(void)applicationDidFinishLaunching:(UIApplication *)application 如果有保存的行并且认可地恢复屏幕。

答案 1 :(得分:0)

最简单的方法是将字符串写入文档目录中的文件,该文件以一些易于解析的格式保存您的状态信息。例如“screen_name:database_id”。或者构建一个JSON字符串并使用JSON解析它。

每次切换屏幕时,都要重写文件。下次打开时,请阅读文件,解析文件,并在应用程序中显示相应的屏幕。