当我的页面加载时,我需要知道用户是否已登录并基于此执行不同的任务。我要做的第一件事是检查它们是否已登录,但由于某种原因,要检查的if
语句是否正在验证两次。这是我的代码:
override func viewDidAppear(_ animated: Bool) {
FIRAuth.auth()?.addStateDidChangeListener { auth, user in
if let user = user {
print("User is logged in")
}
“用户已登录”在页面加载时打印两次而不是仅打印一次。我做错了吗?
答案 0 :(得分:1)
所以只需要一个标志然后检查一个。或检查回复nil
是否
尝试这种方式:
override func viewDidAppear(_ animated: Bool) {
FIRAuth.auth()?.addStateDidChangeListener { auth, user in
if let user = user {
if user != nil {
print("User is logged in")
}
}
注意:尝试同时使用flag
并检查user =! nil