2017-08-21 44 views

回答

0

在你FirebaseLogIn文件你其實已經創造了一個DataSentDelegateLogIn委託,它將做你尋找什麼,和你在FIRAuth.auth()?.signIn回調FirebaseLogIn類正確實現它。這很好 - 現在你只需要在你的LogInViewController中實現你的委託方法。

LogInViewController,移動FirebaseLog.delegate = self到您的viewDidLoad()方法,並從logInBTN(_ sender: Any)功能刪除所有Dispatch代碼。然後,實施在LogInViewControlleruserEnterData(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執行被調用。整齊!

(並在您的代碼複製到爲下一次你問對堆棧溢出問題代碼,而不是截圖你的問題,謝謝!)

0

你應該把您的代碼改爲userEnterData方法。 並在致電logIn之前設置代表。