Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xcode 将刷新的数据重新发送到模式视图(Swift)_Xcode_Swift_Delegates_Segue_Uistoryboardsegue - Fatal编程技术网

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

Xcode 将刷新的数据重新发送到模式视图(Swift),xcode,swift,delegates,segue,uistoryboardsegue,Xcode,Swift,Delegates,Segue,Uistoryboardsegue,我有一个主ViewController,它触发一个模态ViewController。发生这种情况时,我会通过segue将在主ViewController中检索到的数据传递给Modal ViewController。这一切都是正常的 但是在这个模式视图中,我可以修改原始数据库(比如添加投票/添加视图等) 现在,我在下面使用委托函数更新了主视图中的数据,但我的问题是:如果无法重新分段,如何将新刷新的数据重新发送到打开的模式视图 我是否需要使该数据成为某种类型的全局结构,然后使用NSNotificat

我有一个主ViewController,它触发一个模态ViewController。发生这种情况时,我会通过segue将在主ViewController中检索到的数据传递给Modal ViewController。这一切都是正常的

但是在这个模式视图中,我可以修改原始数据库(比如添加投票/添加视图等)

现在,我在下面使用委托函数更新了主视图中的数据,但我的问题是:如果无法重新分段,如何将新刷新的数据重新发送到打开的模式视图


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

解决了这个问题-我使用了两个不同的委托函数来调用彼此的视图。以下是完整的逻辑(为了简洁起见,没有完整的代码):

  • 主视图将分段到模态视图,并传递数据以定义模态视图中找到的变量数据
  • 用户在模式视图中交互和更改值(例如:添加投票/添加视图),这最终会改变外部数据库中的排名
  • 我只想刷新源数据一次,并将其级联到模式视图中,因此:

  • 模态视图调用主视图中名为
    func refreshData
    的委托函数
  • 主视图中的
    func refreshData
    函数刷新最初传递的数据,然后在
    var newData
  • 主视图中的
    func refreshData
    函数将
    var newData
    发送回名为
    func successUpdate
  • func successUpdate
    模态视图中的函数为通过segue传递的原始变量指定新值