当父 viewController 上发生操作时,如何刷新子 ViewController 对象

how do I refresh a childViewControler object when an action occurs on the parent viewControler

我已将一个子 ViewControler 嵌入到我的 mainViewControler 中,它会显示一个图形。 主视图控制器包括一个输入字段和一个保存按钮。 我希望在按下保存按钮时让 childViewControler 中的图形重新加载其数据。 childViewControler 包含一个函数

func refresh() {
        fetchTransactionsAndCalculateTotals()
        generateChartData()
        setChart()}

我想打电话。我已经设置了从主控制器到子控制器的转接,

enum Segues {
        static let toInOutBar = "toInOutBars"
    }

override func prepare(for segue: UIStoryboardSegue, sender: UIButton?) {
           if segue.identifier == Segues.toInOutBar {
               let destVC = segue.destination as! InOutBarViewController
            destVC.refresh()
           }
       }

我正在努力更进一步,我尝试从 myUIButton 操作调用此函数但没有成功。

感谢您的支持

您应该 link 在按钮的 touchUpInside 操作上 IBAction 并使用 children child VC 属性.

@IBAction func refreshClicked(_ sender: UIButton) 
{
    guard let vcChild = self.children.first as? InOutBarViewController else { return; }
    vcChild.refresh()
}