0

我在这个问题上停留了很长时间,只是无法理解这个概念。我无法在我的应用程序的第一页之外保留任何数据,每次我推送到另一个视图时,我都会丢失在文本字段中输入的所有数据或导入的任何图片。这意味着我已经在第一页上做了所有事情,因为这是唯一在我离开它后立即破坏数据的页面。当然必须有一种更简单的方法来做到这一点......有人可以指出一个真正的模型视图初学者指南,我阅读了苹果的文档,发现它根本没有帮助,我在这里阅读,并用谷歌搜索,现在真的没有想法了

4

1 回答 1

1

您将数据存储在“控制器”级别。就像“视图”级别一样,这些来来去去并不是长期存储数据的好地方。对于长期存储,您希望将数据保存在“模型”中。你可以这样想三层。

  • 模型是数据(可变的和永久的)和业务规则。
  • 控制器是业务规则、视图到模型的数据解释以及用户交互管理。
  • 视图用于将数据输出转换为有意义的信息和用户响应解释。

控制器(视图控制器)应该只保存足够的数据来完成他们的工作,并且永远不应该认为保存数据的时间超过了必要的时间。这就是为什么原始视图控制器是唯一保留数据的控制器。它是“根”视图控制器,不会被移除,因为它是底部视图控制器。当您“推送”另一个视图控制器时,它是暂时的,因为它将被“弹出”并释放。考虑将您的数据(即使对于您的根视图控制器)保存在您可以访问它的其他地方。可能在 App Delegate、Core Data 或简单管理所需数据的自定义类中。确保您的模型和控制器对象可以获取数据,并且您将拥有一致的数据。

于 2012-05-02T21:08:35.293 回答