编辑当前视图时更新以前的视图

时间:2015-12-19 06:08:09

标签: ios view controller notifications updates

简而言之,这是我的问题:

  1. 我从视图控制器A转到VC B
  2. 然后从VC B到VC A.
  3. 循环1和2多次。全部通过推动。
  4. 现在我编辑VC A(例如,喜欢我的一篇文章)并保存。然后我点击后退按钮返回。我想看看VC A中的变化(例如,我的帖子中的喜欢数量增加1)
  5. 当我只有2个VC时,这是一个简单的例子。你可以在循环中拥有许多VC,你也可以想要更新不在循环中的其他VC。

    一个例子是在像Instagram这样的社交网络应用程序中,您可以在其中转到您的个人资料,关注者列表,转到他们的个人资料,转到他们的关注者列表,从那里转到您的个人资料。等等。然后在最后你做一个类似于一个帖子,并且你想在主页选项卡中更新视图,以及在点击后退按钮的同时更新循环中间的所有视图。

    我知道我们可以通过两种方式实施:

    1. 在每个VC中,在viewwillappear中,我们检查更新然后更新。缺点是它不能在离线模式下工作。到处检查它很笨重。
    2. 使用通知。一个具有更改的视图将通知其他视图进行更新。但您必须自己定义哪些视图会接受哪种类型的通知,并且在您的应用中触发多个通知非常混乱且难以管理。
    3. 还有其他方法吗?你在你的应用程序中做得怎么样?

      我的问题更多的是询问建筑师,而不是编码样本,所以请通过提供解决方案,架构和对其结果的简短分析来回答。

      这个问题适用于ios和android。

1 个答案:

答案 0 :(得分:0)

我的建议是

在NSUserDefaults中保存喜欢的数量和帖子ID,并检查每个视图控制器,同时您的帖子ID与NSUserDefaults中的值相同,将其增量除以NSUserDefaults中帖子的数量。但是在某些时候你必须将它与webservice同步。