小编Ale*_*lex的帖子

在swift中为for循环添加延迟

我有一个编码'问题'.

我有一个标签,我希望每2秒动态更改一次文本.我做了以下事情:

// WELCOME STRING ARRAY
let welcomeContainer:[String] = ["Welcome","Benvenuti","Bienvenue","Willkommen","üdvözlet","Dobrodošli","????? ??????????","Witajcie","Bienvenido","??????? ???????","Vitajte","????"]
Run Code Online (Sandbox Code Playgroud)

然后,timerwithinterval我尝试使用delay我的函数内部for循环中的方法,而不是使用(这对于这个简单的任务来说似乎太多了):

func welcomeLabelChange() {
for i in 0..<welcomeContainer.count {
    welcomeLabel.text = welcomeContainer[i]
    delay(delay: 2.0, closure: {})
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,它完全跳过延迟... for循环立即执行,只显示数组中的最后一个文本.我究竟做错了什么?

我找到了这个OBJ-C的答案,但它暗示了一个(旧的)NSTimer实现.

for-loop delay nstimer ios swift3

5
推荐指数
3
解决办法
9820
查看次数

重新发送Firebase电子邮件验证

我有一个看起来很傻的问题,但是我找不到任何答案。我有一个简单的注册iOS程序,该程序依赖于Firebase身份验证SDK。

在创建用户之后的某个时间点:

FIRAuth.auth()?.createUser(withEmail: userName!, password: password!)
Run Code Online (Sandbox Code Playgroud)

之后,我向我的用户发送了一封验证电子邮件:

FIRAuth.auth()?.currentUser?.sendEmailVerification(completion:
                        {(error) in
                        if error == nil
                            {self.showSuccessPopUp()} 
                        else
                            {self.showErrorPopUp()}
                    })
Run Code Online (Sandbox Code Playgroud)

一切都很好,一点问题都没有。

我的问题是:我的用户收到了电子邮件,并且-由于任何原因-没有单击自动生成的确认链接。稍后,他再次打开该应用程序,并且-忘记了他已经注册过一次-尝试使用相同的电子邮件地址进行注册。

Firebase只是说已经使用该电子邮件地址创建了一个用户-根据创建的文档,即使该用户不是“活动的”,也是如此-因此,我想为我的用户提供一个“重新发送验证电子邮件”的选项。

我一直在研究没有解决方案的Firebase API文档。有人曾经有过同样的“问题”吗?

谢谢你的帮助

ios firebase firebase-authentication swift3

1
推荐指数
1
解决办法
2442
查看次数