swift - Firebase 注册 - 在 DB 中存储其他数据会阻止侦听器
问题描述
在 Firebase 注册时,我将其他数据存储在实时数据库中。问题是 AuthListener 不知何故停止工作。这意味着用户必须重新启动应用程序。
这是我的代码
session.signUp(email: email, password: password) { (authData, error) in
session.createUser()
}
.createUser 将一个对象添加到我的实时数据库中。那部分效果很好。
下面的这部分会产生问题
func listen() {
_ = Auth.auth().addStateDidChangeListener { (auth, user) in
if let user = user {
self.ref = Database.database().reference(withPath: "\(String(describing: Auth.auth().currentUser?.uid ?? "Error"))")
self.ref.child("user").observe(DataEventType.value) { (snapshot) in
self.user = MyModel(snapshot: snapshot)
}
看起来self.user没有刷新,我的 UI 依赖于这个变量。
非常感谢!
解决方案
推荐阅读
- java - 如何在TestNG的xml文件中添加多个文件
- codeigniter - Mailgun webhook 传入有效负载为空
- sql - SQL Server 问题检查运行时间最长的查询
- arrays - 如何在 Django Rest API @api_view 中插入多个实例?
- nginx - 在 NGINX 中抑制应用程序的 LDAP 身份验证
- javascript - Firefox Android 中带有“white-space:pre-wrap”的“input”高度大于 Android 中的 Chrome
- java - Pie Chart Apache POI (4.1.1) - 如何获取数据标签的数字格式为0,00
- django - 访问数据 ForeignKey django 反向方式
- ios - 带有半径的 UIView 和 UIButton 中的渐变颜色阴影
- python - scipy.optimize.fsolve 和 sympy 的求解函数的区别