我知道我做错了。
打开我的应用程序时,我需要告诉用户是登录还是注销(并根据其打开另一个视图控制器)。
我的解决方案在下面的这张图片中。
我知道这是错误的(它只是一个函数的空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)
}
}
}
`
答案 0 :(得分:1)
您可以像启动屏幕一样设计此白色屏幕。这是此问题的一般解决方案。完成所有工作后(调用api,验证等等),然后将用户导航到所需的屏幕。
如果任务很长,则可以像uber一样在此处添加一些动画。如果您不希望任何动画,请确保有活动加载器,否则用户认为设备因您的应用而挂起。
在不为此而构建整个新View Controller的情况下,我也如何进行检查?
当您的应用程序加载到内存中时,将调用didFinishLaunchingWithOptions
。如果仅需要根据条件将用户导航到登录或注销屏幕,则可以在此处添加代码。
但是在此委托中,不建议使用API调用。