繁体   English   中英

在UINavigationController中关闭视图并同时同步

[英]Dismissing view in UINavigationController and at the same time syncing

NavigationController堆栈上有两个视图:

  1. 编辑项目详细信息视图(基本上是一种表格)
  2. 在表格视图中显示所有项目

我想知道我的任务是否有最佳实践:

当用户在UINavigationController栏中点击“返回”时(在视图1中 ),应用程序应更新服务器上的项目。

并不是那么困难,但是BACK-action导致视图22不是最新的,因为更新发生在后台,并且在完成对表视图数据的GET请求之前还没有通过。

因此,为了使视图2始终显示准确的数据,我有几种选择。 有点烦人..(例如,让视图2的 ViewController代表1与服务器通信并在完成时进行更新,或者让“更新发生”通知触发重新加载,...)

但是..这种情况下的最佳做法是什么?

我想我将把这些物品放在中心位置。 让我们称之为ItemsStore。 ItemsStore是一个单例,它负责获取一组最新商品并提供对这些商品的访问权限。 如果有新数据到达或保存了旧数据,它也会触发通知。

在这种情况下:

  • 视图2将数据添加到存储中。 商店通知有更改。
  • 查看该通知的1个更新。
  • 视图2还要求ItemsStore将数据保存到服务器。

我不会将加载和保存的责任交给控制器,这将变得很丑陋和复杂。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM