ios - Firebase - 当从常量中设置字典中的键时,updateChildValues 会使应用程序崩溃

标签 ios swift firebase

我想要完成的就是将用户的电子邮件字符串设置为我的数据库中的键。我的问题似乎是,每当我使用分配给常量的键设置字典时 updateChildValues 方法就会崩溃 - 在本例中为 userEmail。如果我将 key 更改为字符串文字,它就可以正常工作,但这不是我打算构造此数据库节点的方式。

guard let uid = Auth.auth().currentUser?.uid, let email = Auth.auth().currentUser?.email else {
            // handle
            return
        }

        let groupId = UUID().uuidString
        let userGroupIdValue = ["groupId": groupId]
        let groupName = ["groupName": text]
        let userEmail = [email: 1]

Database.database().reference().child("groups").child(groupId).child("memberEmails").updateChildValues(userEmail, withCompletionBlock: { (error, reference) in

                   // handle errors

                })

如果我将 userEmail 字典更改为 ["someText": 1] 它就可以正常工作,常量 userGroupIdValue 和 groupName 也是如此。通过我的故障排除,似乎此方法不喜欢 Auth.auth().currentUser 中的电子邮件属性这一事实?以前是可选的,即使我使用的是保护声明。我也使用 if let 语句来展开,但它仍然崩溃。这可能是一个错误吗?

最佳答案

Firebase 支持人员回复了我,问题似乎是解开的电子邮件地址包含“.”。字符串中,并且该字符不允许与其他几个字符一起在数据库的键中使用。 super 令人沮丧,但至少我有一个答案。

关于ios - Firebase - 当从常量中设置字典中的键时,updateChildValues 会使应用程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52529814/

相关文章:

swift - 如何使按钮在 SpriteKit 中工作?

ios - 如何将特定字符串替换为 NSTextAttachment 以显示图像

ios - stackView 在中心 scrollView

firebase - 关于Firebase读写

java - Firestore 讲座操作计数

ios - 销毁 Controller 后恢复 avplayer

ios - 将整数值与 NSMutableArray 进行比较并找到该值的最大值

Android Firebase Rest API 身份验证

ios - Grand Central Dispatch 替代使用 NSTimer - 多次无效

ios - 如何从 iOS 照片(如相机胶卷)获取图像创建日期时间或上次修改日期时间?