【发布时间】:2019-06-11 20:24:50
【问题描述】:
我想将当前用户电子邮件作为子级保存数据,但是当我启动我的项目时,应用程序崩溃并显示以下错误消息:terminating with uncaught exception of type NSException
let email = Auth.auth().currentUser?.email
let SavedProduct : [String: Any] = ["email": email, "ImageURL": FImage1[picturenumber]]
Database.database().reference().child("SavedWoman").child(email!).setValue(SavedProduct)
【问题讨论】:
-
你应该发布整个错误信息。
-
这是完整的错误信息!
-
看起来像 email == nil 而你强制拆开它?你为什么不使用 if let email = auth....email {}
-
请。不要使用电子邮件地址作为节点密钥。您必须对它们进行编码和解码,因为键不能包含句点(和其他一些字符)。更重要的是电子邮件地址发生变化,如果发生这种情况,整个数据库中引用该节点的每个地方都必须用新电子邮件读入、删除和写回。您最好使用 .childByAutoId 创建密钥并将电子邮件地址保留为子节点。
标签: swift firebase firebase-realtime-database