【问题标题】:Resending refreshed data to modal view (Swift)将刷新的数据重新发送到模态视图(Swift)
【发布时间】:2016-02-24 17:31:06
【问题描述】:
我有一个触发模态视图控制器的主视图控制器。发生这种情况时,我将在 Main ViewController 中检索到的数据通过 segue 传递给 Modal ViewController。一切正常。
但在该模式视图中,我可以更改原始数据库(例如添加投票/添加视图等)
现在,我使用委托函数更新了下面主视图中的数据,但我的问题是:如果我无法重新选择,如何将新刷新的数据重新发送到打开的模式视图?
我是否需要将该数据设为某种全局结构,然后使用 NSNotificationCenter 来触发变量和表更新?还是有更优雅的方式?谢谢!
【问题讨论】:
标签:
xcode
swift
delegates
segue
uistoryboardsegue
【解决方案1】:
解决了 - 我使用了 2 个不同的委托函数来调用彼此的视图。这是完整的逻辑(为简洁起见,没有完整的代码):
- 主视图转接到模态视图并传递数据以定义模态视图中的
var data
- 用户在模态视图中交互并更改值(例如:添加投票/添加视图),最终会改变外部数据库中的排名。
我只想刷新一次源数据并将其级联到模态视图中,所以:
- 模态视图调用 委托函数,在主视图中找到名为
func refreshData 的函数
-
主视图中的
func refreshData 函数刷新最初传递的数据,然后将其收集到var newData
-
主视图中的
func refreshData 函数将var newData 发送回名为func successUpdate 的模态视图中的委托函数
-
模态视图中的
func successUpdate 函数为通过 segue 传递的原始变量分配新值