复杂应用程序的 IOS 保存状态

标签 ios state save

我正在 iPad IOS 4.2 上构建一个相当复杂的业务应用程序:4 个选项卡,每个选项卡上都有可能很深的导航路径。

在您的一些更有经验的 IOS 开发人员看来,对于在启动之间(即在应用程序完全终止并随后重新启动之后)保存应用程序状态,用户的一般期望是什么?我正在使用 Core Data 并涵盖了所有数据问题,但我担心应用程序的导航树。如果用户在屏幕 3 上留下了第一个选项卡,在屏幕 4 上留下了第二个选项卡,在屏幕 2 上留下了第三个选项卡,在那里他留下了一条新记录的条目,并且在应用程序进入后台时,在屏幕 3 的第 4 个选项卡上工作...您认为普通用户会期望应用程序在下次启动时记住所有这些吗? (我的直觉告诉我是的,尽管我不确定会持续多久。)

如果答案是肯定的,您能否建议一个处理此问题的一般策略(再说一次,我在这里谈论的是导航树,而不是 Core Data 的东西)?例如,如果导航 Controller 被用作每个选项卡的 Root View Controller ,那么记录关于它们的导航堆栈的足够信息以便以后能够恢复它们就足够简单了。但是弹出窗口、警报/操作表或即时创建的模态 VC 之类的东西呢?每个 View Controller 是否应该记录其 UI 对象的状态?如果是,推荐的方法是什么?

我知道这在很大程度上取决于用户,但我想了解对这些问题的一般看法,即经验之谈。

最佳答案

它在原理上非常简单,但在实践中可能会变得非常复杂,遍历导航层次结构并存储无法从数据模型中派生的内容。

有一个名为 DTResurectionKit 的开源实现.我也是documented how I do it在我网站上的应用程序中。它类似于(但比)DTResurectionKit 更简单。

关于复杂应用程序的 IOS 保存状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6373529/

相关文章:

c# - Visual C# - 可以记住用户输入的简单程序?

ios - 在按钮边缘绘制框架

ios - 如何在没有很多 xib 的情况下显示多个 View Controller

ios - 检测在 UIScrollView 中点击 UIImageView

uml - 如何建模两个不同类的两个交互状态机?

python - globals() 与 locals() 可变性

Android setOnClickListener 禁用ListView中的状态颜色变化

ios - 保存旋转的图片(swift3)

android - Titanium 地理定位跟踪无法正常工作

c# - 将数据从 SQL Server 导出到 C# 中的文本文件(保存到特定文件夹)