SwiftUI передает данные из метода делегата в View - PullRequest
0 голосов
/ 15 апреля 2020

Я реализовал вход в Facebook через Firebase, и когда я звоню Auth.auth().signIn(), я получаю некоторый результат и ошибку. Дело в том, что я не могу найти способ передать эти данные одному из моих взглядов. Я не могу создать функцию обратного вызова, потому что она вызывается автоматически loginButton(). Как я могу передать этот результат и ошибку одному из моих просмотров?

У меня действительно есть addStateDidChangeListener, но это не дает мне ошибку для входа в Facebook, скажем так. No permissions

Auth.auth().addStateDidChangeListener({ (auth, user) in
    //
})

class Coordinator: NSObject, LoginButtonDelegate {

    func loginButton(_ loginButton: FBLoginButton, didCompleteWith result: LoginManagerLoginResult?, error: Error?) {
        if error != nil {
            // print(error?.localizedDescription)
            return
        }

        if let currentAccessToken = AccessToken.current {
            let credential = FacebookAuthProvider.credential(withAccessToken: currentAccessToken.tokenString)

            Auth.auth().signIn(with: AuthCredential) { (AuthDataResult?, Error?) in
                // pass AuthDataResult and Error to view
            }
        }
    }

    func loginButtonDidLogOut(_ loginButton: FBLoginButton) {
        try? Auth.auth().signOut()
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...