首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >火源DataBase

火源DataBase
EN

Stack Overflow用户
提问于 2017-02-24 09:07:48
回答 2查看 107关注 0票数 0

问题:由于某种原因,没有将数据发送到我的数据库中。有人能弄清楚为什么没有发送这些信息吗?

我用//*突出显示代码,以显示我要将其发送到何处。

规则:

代码语言:javascript
复制
{
  "rules": {
              ".read": "true",
              ".write": "true"

  }
}

import UIKit
import Firebase
import FirebaseDatabase
import KeychainSwift




class SignUpController: UIViewController {

    //INPUT - from keyboard email & password
    @IBOutlet weak var emailField: UITextField!
    @IBOutlet weak var passwordField: UITextField!

    //Data Base Initialization
    //var ref: FIRDatabaseReference!

    let dataRef = FIRDatabase.database().reference()

    override func viewDidLoad() {
        super.viewDidLoad()


    }

    //PROCESS - Checks is user has already been logged in
    override func viewDidAppear(_ animated: Bool) {

       let currentUser = FIRAuth.auth()?.currentUser

        if currentUser != nil {
            performSegue(withIdentifier: "SignIn", sender: nil)
            }


    }

    func CompleteSignIn(id: String){
        let keyChain = DataService().keyChain
        keyChain.set(id , forKey: "uid")
    }


    //If SignUp button is pressed user will be directed to sign up page
    @IBAction func LoginPressed(_ sender: Any) {
        self.performSegue(withIdentifier: "BackToLogin", sender: nil)
    }





    /*If both password and email contain text lets put them into string variables
       called email & password. Creates user and authorizes sign in                                      */

    @IBAction func SignIn(_ sender: Any){

        if let email = emailField.text, let password = passwordField.text {

            FIRAuth.auth()?.signIn(withEmail: email, password: password) { (user, error) in
                if error == nil {

                    self.CompleteSignIn(id: user!.uid) //Completese Database Sign in
                    //************************************************
                    //Send information to Database
                    let userEmail : String = self.emailField.text!
                    let userPassword : String = self.passwordField.text!
                    let userID : String = user!.uid
                    self.dataRef.child("Users").child(userID).setValue(["Email": userEmail, "Password" : userPassword])
                 //************************************************
                    print("Sign in Test")

                    self.performSegue(withIdentifier: "SignIn", sender: nil)

                } else {
                    FIRAuth.auth()?.createUser(withEmail: email, password: password) { (user, error) in
                        if error != nil {

                            Alerts().invalidSignUpAlert(sender: self) //Alert for invalid email & Password
                            print("cant sign in user") //Programmer Debugging

                        } else {
                            self.CompleteSignIn(id: user!.uid)
                            self.performSegue(withIdentifier: "SignIn", sender: nil)
                        }
                    }
                }
            }
        }
    }
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-02-24 09:39:11

在规则中添加“用户”如下:

代码语言:javascript
复制
"rules": {
  "Users":{
     ".read": "true",
     ".write": "true"
  }
}
票数 0
EN

Stack Overflow用户

发布于 2017-02-24 09:30:54

您需要作为布尔值,而不是字符串"true“。

代码语言:javascript
复制
{
  "rules": {
              ".read" : true,
              ".write":true

  }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42434659

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档