我有一个tableview,它显示了一个关于表中某一行的webview,它反过来从sqlite中获取数据。如果用户在查看webview中的描述时按住主页键关闭应用程序并在有时重新打开它,我应该让用户看到相同的屏幕。如何再次显示相同的视图?什么是有效的方式?
答案 0 :(得分:5)
我认为最简单的方法是将应用程序的状态存储在NSUserDefaults中。 UIApplication上有一个委托方法叫做:
- (void)applicationWillTerminate:(UIApplication *)application
当用户退出应用程序时,将调用此委托方法。这是您可以将应用程序的状态保存到NSUserDefaults的时间。但请注意,你不能在那里做时间密集的事情。如果你这样做,你会被操作系统杀死。
在您的情况下,为什么不直接存储用户在NSUserDefaults中选择的行,然后签入
-(void)applicationDidFinishLaunching:(UIApplication *)application
如果有保存的行并且认可地恢复屏幕。
答案 1 :(得分:0)
最简单的方法是将字符串写入文档目录中的文件,该文件以一些易于解析的格式保存您的状态信息。例如“screen_name:database_id”。或者构建一个JSON字符串并使用JSON解析它。
每次切换屏幕时,都要重写文件。下次打开时,请阅读文件,解析文件,并在应用程序中显示相应的屏幕。