一尘不染

Swift Firebase必须是非空字符串,并且不能包含“。” '#''$''['或']'

swift

这是我先前问题的跟进。我正在尝试查看是否已使用电子邮件。

我正在用线

if snapshot.hasChild(email) {

我的数据库中有一封电子邮件test1@test.com。com崩溃之前,应用程序崩溃并给出错误提示

Must be a non-empty string and not contain '.' '#' '$' '[' or ']'

我看到很多有关检查用户名的帖子,但是我的应用程序没有用户名,只有电子邮件。我可以通过以下方式使用电子邮件吗?

hasChild(...) {...

阅读 281

收藏
2020-07-07

共1个答案

一尘不染

Firebase密钥不能包含.(点)字符。如果要在密钥中存储电子邮件地址,则必须对其进行编码。常用的方法是.,(逗号)代替,通常在电子邮件地址中不允许使用。因此test1@test.com将被编码为test1@test,com

我认为您实际上并没有将电子邮件地址存储为密钥,但是在您之前的问题中,我将继续进行处理。

2020-07-07