如何處理異步查詢,而 「DispatchQueue
」 見下文:Ios的火力地堡異步的LogIn
let when = DispatchTime.now() + 2
DispatchQueue.main.asyncAfter(deadline: when){}
這是例如火力點登錄
如何處理異步查詢,而 「DispatchQueue
」 見下文:Ios的火力地堡異步的LogIn
let when = DispatchTime.now() + 2
DispatchQueue.main.asyncAfter(deadline: when){}
這是例如火力點登錄
在你FirebaseLogIn
文件你其實已經創造了一個DataSentDelegateLogIn
委託,它將做你尋找什麼,和你在FIRAuth.auth()?.signIn
回調FirebaseLogIn
類正確實現它。這很好 - 現在你只需要在你的LogInViewController
中實現你的委託方法。
在LogInViewController
,移動FirebaseLog.delegate = self
到您的viewDidLoad()
方法,並從logInBTN(_ sender: Any)
功能刪除所有Dispatch
代碼。然後,實施在LogInViewController
的userEnterData(data: Bool)
委託方法:
func userEnterData(data: Bool) {
if data
// handle successful login
else {
// handle unsuccessful login
}
}
上代表一個簡短的引物,from this great explaination by James Rochabrun:
委託是一個設計模式,允許一個目的是當特定發送消息給另一個對象事件發生。
所以當FirebaseLogIn
調用userEnterData
委託方法,它在LogInViewController
執行被調用。整齊!
(並在您的代碼複製到爲下一次你問對堆棧溢出問題代碼,而不是截圖你的問題,謝謝!)
你應該把您的代碼改爲userEnterData
方法。 並在致電logIn
之前設置代表。
請附上您的代碼,代碼,不是截圖。 – user3486184