将刷新的数据重新发送到模态视图(Swift)

时间:2016-02-24 17:31:07

标签: xcode swift delegates segue uistoryboardsegue

我有一个主ViewController,可以触发Modal ViewController。发生这种情况时,我通过segue将在主ViewController中检索到的数据传递给Modal ViewController。一切都按预期工作。

但在该模态视图中,我可以更改原始数据库(例如添加投票/添加视图等)。

现在,我使用委托函数从主视图下面的数据进行更新,但我的问题是:如果我无法重新发送,如何将新刷新的数据重新发送到开放模式视图?

我是否需要将该数据设置为某种类型的全局结构,然后使用NSNotificationCenter来触发变量和表更新?还是有更优雅的方式?谢谢!

1 个答案:

答案 0 :(得分:0)

解决了它 - 我使用了2个不同的委托函数来调用彼此的视图。这是完整的逻辑(没有简洁的完整代码):

  1. 主视图 segues 到模态视图并传递数据以定义在模态视图中找到的var data
  2. 用户在模态视图中交互和更改值(例如:添加投票/添加视图),最终会改变外部数据库中的排名。
  3. 我只想刷新一次源数据并将其级联到模态视图,所以:

    1. 模态视图调用主视图中名为func refreshData委托功能
    2. 主视图中的
    3. func refreshData功能刷新最初传递的数据,然后在var newData
    4. 中收集它 主视图中的
    5. func refreshData功能会将var newData发送回名为func successUpdate
    6. 的模态视图中的委托功能 模态视图中的
    7. func successUpdate函数为通过segue传递的原始变量指定新值