gpt4 book ai didi

iOS Swift - 按下按钮后刷新整个应用程序

转载 作者:行者123 更新时间:2023-11-28 07:01:16 25 4
gpt4 key购买 nike

我有一个名为 ChangeViewController 的模态显示 View Controller ,它允许用户更改有关他/她的个人资料的一些信息。当用户完成后,按下“ACCEPT CHANGES”按钮,我使用 unwind segue 退出 ChangeViewController 并返回主屏幕。

我是否可以在执行此展开转场之前刷新整个应用程序的数据?截至目前,用户修改后,主屏幕和其他屏幕上的信息保持不变。只有在应用程序重新启动后,信息才会更新。有没有办法以编程方式“重新启动”,以便所有 View Controller 都是最新的?更具体地说,有没有办法调用所有 View Controller 的 viewDidLoad 函数以便更新它们的数据?

首选 Swift 解决方案。谢谢!

最佳答案

我经常在用户使用这样的功能更改后更新 UI。这非常简单,您只需在更新 UI 时调用该函数即可。

func updateUI() {
// Redraw your labels, update your UIElements, do what you have to do
}

一种可以在不关闭应用程序的情况下从模态呈现的 ViewController 调用此函数的方法是委托(delegate),因为模态呈现不会将旧的 ViewController 抛出堆栈和堆,委托(delegate)的工作方式如下:

在你的模态 Controller 中:

protocol ChangeViewControllerDelegat: class {
func updateUI(sender:UIButton)
}

class ChangeViewController: UIViewController {

weak var delegate: ChangeViewControllerDelegat?

func opChangingUserSettings() {
// Change settings with your code

// tell your ViewController to do it.
delegate?.updateUI()
}

在你的主VC中

class MainViewController: UIViewController, ExtensionViewControllerDelegate {
func updateUI() {
// Redraw your labels, update your UIElements, do what you have to do
}
}

希望对您有所帮助!

顺便说一句,您是否正在尝试随时更改语言?如果是这样,我可以告诉你如何做到这一点。如果没有,如果我理解你的问题,这应该有效。

关于iOS Swift - 按下按钮后刷新整个应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31980502/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com