我有一个编码'问题'.
我有一个标签,我希望每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实现.
我有一个看起来很傻的问题,但是我找不到任何答案。我有一个简单的注册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文档。有人曾经有过同样的“问题”吗?
谢谢你的帮助