有没有办法同步从Firebase(Swift)获取数据?

时间:2016-04-12 00:25:54

标签: ios swift firebase firebase-authentication

我有一个带Firebase后端的Swift iOS应用程序。我正在尝试在我的AppDelegate中实现逻辑,该逻辑在呈现初始视图控制器之前检索用户数据,但据我所知,获取数据的唯一方法是异步observeEventType函数。问题是,应该在用户信息中填充大部分UI,因此在检索用户信息之前,我不希望我的AppDelegate didFinishLaunchingWithOptions函数完成。任何人都知道如何解决我的问题?

修改

会话的想法会解决我的问题吗?这意味着,如果用户登录一次,他们的会话是永远活动的(除非他们注销),在这种情况下我可以使用同步authData功能吗?

1 个答案:

答案 0 :(得分:0)

你没有发布你的代码所以不清楚为什么使用didFinishLaunchingWithOptions,因为还有其他各种选择。

但是,对于一个简单的示例,使用故事板,创建一个登录视图控制器作为故事板上的入口点。然后在该视图中,控制器捕获用户登录电子邮件和密码,进行身份验证并继续通过您的应用程序。

    ref.authUser(userName, password: password) { error, authData in

        if error != nil {
            print("No auth for you, two weeks")
        } else {
            print("authenticated as  \(authData.uid)")

            //now set up your app, populate user info etc.
            //  even calling back to the delegate would work.

        }
    }