我正在开发新的Firebase
登录。数据库中有两个类别。 "烹调"和"客户"。 "烹调"有一个CookViewController和"客户"有一个customerViewController。登录后,我需要知道此电子邮件属于哪个类别,segue
为CookViewController
或CustomerViewController
。下面是登录的代码,但我不知道如何分辨电子邮件属于哪个类别。谢谢!
@IBAction func loginPressed(sender: AnyObject) {
if let email = emailField.text where email != "", let password = passwordField.text where password != "" {
FIRAuth.auth()?.signInWithEmail(email, password: password, completion: { (user, err) in
if err != nil {
print(err)
} else {
// Here I need to know whcih view Controller to Segue to:
self.performSegueWithIdentifier(identifier: String, sender: self)
}
}
数据结构如下:
答案 0 :(得分:3)
如何制作你的JSON: -
yourApp:{
cooks:{
email1:true,
email3:true,
email4:true,
email7:true,
email8:true},
customers:{
email2:true,
email12:true,
email13:true,
email4:true,
email8:true},
users:{
uid1:{
email : blah@blah.com,
isCook: true
},
uid2:{
email : burp@blah.com,
isCook: false
}....
}
}
因此,您可以签入cooks部分或客户部分或用户部分下的uid,然后与isCook
节点相关联,如果他是 - &gt;转到cookViewController,否则转到customerViewController < / p>
最简单的方法是检查uid : -
FIRDatabase.database().reference().child("users/\(FIRAuth.auth()!.currentUser!.uid)/isCook").observeSingleEventOfType(.Value,withBlock:{(snap) in
if let isThisUserCook = snap.value as? Bool //or String{
if isThisUserCook == true{
//segue to cookVC
}else{
//segue to customerVC
}
}
})