在加载视图控制器时,我基本上希望应用程序执行以下操作:
但是,使用下面的代码,它会执行 你好 然后登录
有什么帮助吗?
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
Auth.auth().signInAnonymously{ (user,error) in
if let error = error {
print("Sign in failed: ", error.localizedDescription)
} else {
self.anonId = String(user!.user.uid)
print("Signed in: ",user!.user.uid)
}
}
print("hello")
}
答案 0 :(得分:1)
登录Firebase可能需要任何时间,因此是作为异步操作实现的。实际上,这意味着依赖于登录结果的任何代码都必须位于回调/完成处理程序内部:
Auth.auth().signInAnonymously{ (user,error) in
print("hello")
if let error = error {
print("Sign in failed: ", error.localizedDescription)
} else {
self.anonId = String(user!.user.uid)
print("Signed in: ",user!.user.uid)
}
}
这是现代Web API中极为常见的模式,因此最好尽早习惯。