在登录成功时执行segue
问题描述:
我是swift和iOS的新手。我已经开始了一个应用程序。目前尝试在登录成功时执行一个循环。在登录成功时执行segue
Main.storyboard
导航控制器>登录场景>仪表盘场景。
在提交登录creds后登录场景我做一个REST API调用来验证凭据。通话成功我可以通过打印到控制台进行验证。但是仪表板的继续不会发生。
在成功的情况下,我使用
print("Successfully logged in")
self.performSegue(withIdentifier: "login_success", sender: self)
print语句执行,但SEGUE不会被触发。
答
影响UI必须在主队列中执行的所有操作。许多网络操作在后台队列上执行并在该后台队列上分派完成处理程序块。
未使用主队列进行UI更新的经典症状是延迟或缺少更新。
您可以使用
DispatchQueue.main.async {
self.performSegue(withIdentifier: "login_success", sender: self)
}
要明确派遣主队列中的代码。
可以显示代码或UI –
确保在登录场景和仪表板场景之间延续情节提要中的标识符“login_success”。 – jonaszmclaren
你可能没有实现正确的标识符login_success 你的方法签名也不好,它应该是self.performSegue(withIdentifier:“login_success”,发件人:)。 请向我们展示您的故事板实施 –