当父 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()
}
我已将一个子 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()
}