Swift 一个函数中的多种注销方法

Multiple sign out methods in one function in Swift

我想知道我是否可以在一个函数调用中组合使用两种注销方法(Facebook 和 Google),或者这是否是一种好的做法?我有一个注销按钮,当 Facebook 用户注销时从 Facebook 注销,当然当 Google 用户登录时从 Google 注销。或者我应该在注销功能中创建一个条件吗?感谢您提供的所有帮助!

 // handle sign out function
    func handleSignOut() {

        let firebaseAuth = FIRAuth.auth()
        do {
            try firebaseAuth?.signOut()
        } catch let signOutError as NSError {
            print ("Error signing out: %@", signOutError)
        }

        // facebook sign out
        UserDefaults.standard.setIsLoggedIn(value: false)
        FBSDKLoginManager().logOut()
        print("did log out of facebook...")

        // google sign out
        UserDefaults.standard.setIsLoggedIn(value: false)
        GIDSignIn.sharedInstance().signOut()
        print("did log out of Google...")

        if FIRAuth.auth()?.currentUser == nil {
            let loginController = LoginController()
            present(loginController, animated: true, completion: nil)
        }
    }

这样做应该不会有太大问题,但是您会降低代码的效率,因为 Firebase 仍会检查其他类型的用户是否已签名 即使在 用户已注销一次。同样,这应该不是什么大问题,但在函数内部使用条件语句的好处大于坏处。不管怎样,做条件还是很容易的。