用户登录逻辑与用户退出逻辑的位置在哪里?

时间:2019-03-15 05:59:02

标签: ios swift iphone xcode

我知道我做错了。

打开我的应用程序时,我需要告诉用户是登录还是注销(并根据其打开另一个视图控制器)。

我的解决方案在下面的这张图片中。

enter image description here

我知道这是错误的(它只是一个函数的空View Controller),但我不知道该将逻辑放在哪里。

最重要的是,我还需要知道用户是付费客户还是免费客户(每个人都有不同的主页)。 我该如何在不为此目的构建整个新View Controller的情况下进行检查?

修改

有一条评论要求我粘贴我的代码,所以这里是: ` 导入UIKit 导入Firebase

CheckIfLoggedInViewController类:UIViewController {

override func viewDidLoad() {
    super.viewDidLoad()

    // Do any additional setup after loading the view.

    Auth.auth().addStateDidChangeListener { auth, user in
        if user != nil {
            // User is signed in. Show home screen
            self.performSegue(withIdentifier: "goToLoggedIn", sender: self)
        } else {
            // No User is signed in. Show user the login screen
            self.performSegue(withIdentifier: "goToLoggedOut", sender: self)
        }
    }

}

`

1 个答案:

答案 0 :(得分:1)

您可以像启动屏幕一样设计此白色屏幕。这是此问题的一般解决方案。完成所有工作后(调用api,验证等等),然后将用户导航到所需的屏幕。

如果任务很长,则可以像uber一样在此处添加一些动画。如果您不希望任何动画,请确保有活动加载器,否则用户认为设备因您的应用而挂起。

  

在不为此而构建整个新View Controller的情况下,我也如何进行检查?

当您的应用程序加载到内存中时,将调用didFinishLaunchingWithOptions。如果仅需要根据条件将用户导航到登录或注销屏幕,则可以在此处添加代码。

但是在此委托中,不建议使用API​​调用。