gpt4 book ai didi

ios - 不执行 segue

转载 作者:行者123 更新时间:2023-11-28 12:14:07 27 4
gpt4 key购买 nike

我正在为 iOS 应用程序测试一个简单的登录系统。

这是我要检查用户之前是否登录的代码:

 override func viewDidLoad() {
super.viewDidLoad()

let logeado = UserDefaults.standard.string(forKey: "logeado")
let men = "SI"

if logeado == men {
showToast(message: logeado!)
self.performSegue(withIdentifier: "entrar_segue", sender: self)
}


}

func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "entrar_segue"{
var vc = segue.destination as! HomeViewController

}
}

显示了 Toast,但未执行 segue。有一个按钮使用相同的功能:

self.performSegue(withIdentifier: "entrar_segue", sender: self)

然后就可以了。

代码有什么问题?

最佳答案

您需要在 dispatch_async block 中调用此 self.performSegue 方法:

override func viewDidLoad() {
super.viewDidLoad()

DispatchQueue.main.async {
self.performSegue(withIdentifier: "seg", sender: self)
}
}

这是因为 viewDidLoad() 在后台线程中运行,所有 UI 更新和转换都必须在主线程中完成。

关于ios - 不执行 segue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47408673/

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