我有一个tableview,它显示了一个webview点击表中的某一行,然后从sqlite中选取数据。如果用户在webview中查看描述时按Home键关闭应用程序,有时会重新打开该应用程序,我应该让用户看到相同的屏幕。如何再次展示相同的视图?什么是有效的方式?如何在应用程序重新打开时显示相同的视图
回答
嗯,我认为最简单的方法是将应用程序的状态存储在NSUserDefaults中。 UIApplication上有一个委托方法:
- (void)applicationWillTerminate:(UIApplication *)application
当用户退出应用程序时,会调用此委托方法。这是您可以将应用程序的状态保存到NSUserDefaults的时间。但要注意,你不能在那里做时间密集的东西。如果你这样做,你会被操作系统杀死。
在你的情况下,为什么不只是存储用户在挑选NSUserDefaults的行,然后在 -(void)applicationDidFinishLaunching:(UIApplication *)application
检查是否有保存行和approbiately恢复屏幕。
最简单的方法是将一个字符串写入文档目录中的一个文件,该文件以一种易于解析的格式保存您的状态信息。例如“screen_name:database_id”。或者构建一个JSON字符串并用JSON解析它。
每次切换屏幕时,都要重新写入文件。当您下次打开时,请阅读该文件并进行解析,然后在您的应用中显示相应的屏幕。
如何显示相应的屏幕?怎么做 ?应该保存当前视图对象并显示相同的屏幕还是以其他方式显示? – thndrkiss 2010-06-19 15:24:34
为什么要解析?您可以直接将对象存储在NSUserDefaults中。尽管如此,对于更大的数据量,文档目录中的文件是一个很好的解决方案。使用NSUserDefaults的 – GorillaPatch 2010-06-19 15:25:09
比读/写/解析文件要容易得多。 – kubi 2010-06-19 15:25:46
- 1. 当重新打开应用程序时警报不显示
- 2. 打开新视图iOS应用程序
- 3. 在应用程序启动时打开相机视图(iOS6)
- 4. 如何打开相同的应用程序,而无需打开新的实例,当应用程序在后台
- 5. 重新打开应用程序,不显示以前的活动
- 6. 如何在每次打开应用程序时重新启动应用程序?
- 7. 如何在应用程序结束时打开显示器?
- 8. 如何重新打开应用程序的窗口时,Xcode
- 9. 如何在UWP应用程序打开时显示生成的图像?
- 10. 仅在应用程序打开时重新加载视图再次
- 11. 重新打开应用程序后,UIToolbar超级视图占用整个视图
- 12. 当应用程序为ios打开时刷新视图
- 13. Android - 如何停止显示通知时打开应用程序
- 14. iPhone应用程序开发 - 如何重新加载(?)视图?
- 15. 应用程序在相同的活动问题上重新打开
- 16. SQLiteDatabase只在应用程序重新打开时更新
- 17. AppStore显示相同的应用程序
- 18. 当退出并重新打开应用程序时,不显示聊天消息
- 19. 在不同页面关闭/重新打开iPhone应用程序
- 20. 检测应用程序重新打开?
- 21. 如何重新打开最后一个视图,然后在iOS中终止后打开应用程序
- 22. 如何在应用程序重新打开时重置本地通知
- 23. 如何在相同的视图中打开相机
- 24. NStimer倒计时显示应用程序重新打开时的旧时间 - iphone拍摄屏幕图像?
- 25. 如何重新加载/重新打开相同的窗体C#
- 26. 如何在登录后重新打开应用程序
- 27. 在wpf应用程序中打开视图时的延迟
- 28. 指示应用程序在哪个视图上加载打开?
- 29. 如何在打开应用程序时自动录制视频?
- 30. 如何在每次用户打开应用程序时使不同的字符串显示不同的文本?
所以下次我打开应用程序,我将验证我的参数userdefaults,并显示此视图。我的另一个惯例会发生什么?我做数据库加载,用户数据和其他事情的验证。 。 。我应该写代码来显示最后显示的屏幕后,做所有数据库的东西,加载通常显示的意见? – thndrkiss 2010-06-19 16:13:53
那么一般来说,会有一些控制器对象调解从tableView到webView和数据库的数据。在这个控制器对象中,您将处理恢复。 – GorillaPatch 2010-06-19 16:43:49