2016-10-04 33 views
0

Ich habe meine Upload-Code hierFirebase Datenbank nicht Hochladen

import UIKit 
import Firebase 

class ChatViewController: UIViewController { 

    let chatRef = FIRDatabase.database().reference().child("chat") 
    let userUid = FIRAuth.auth()?.currentUser?.uid 
    var userName = "" 
    @IBOutlet weak var topBar: UINavigationItem! 
    @IBOutlet weak var containerView: UIView! 
    @IBOutlet var inputTextField: UITextField! 
    override func viewDidLoad() { 
    super.viewDidLoad() 
    topBar.title = "Chat Log Controller" 
    FIRDatabase.database().reference().child("users/\(userUid!)/name").observe(.value) { (snap: FIRDataSnapshot) in 
     self.userName = (snap.value! as! String).description 
    } 
} 

@IBAction func handleSend(_ sender: AnyObject) { 
    let childChatRef = chatRef.childByAutoId() 
    let message = inputTextField.text! 
    childChatRef.child("text").setValue(message) 
    print(inputTextField.text) 
} 

@IBAction func handleSendByEnter(_ sender: AnyObject) { 
    let childChatRef = chatRef.childByAutoId() 
    let message = inputTextField.text! 
    print(userName) 
    childChatRef.child("name").setValue(userName) 
    childChatRef.child("text").setValue(message) 
    print(inputTextField.text) 
} 

}

Text erfolgreich hochgeladen Aber Es spielt keine Username gedruckt werden und nicht laden Sie es nicht auf Firebase Datenbank Aber Benutzername ist Nuss nicht!

Antwort

2

Versuchen Sie, Ihre Beobachter Code zu verwenden, wie,

ref.observeSingleEventOfType(.Value, withBlock: { snapshot in 

}

+0

wenn ich snapshot.value drucken, Drucken ist gut, aber später, wenn ich meine UserName-Variable drucke, Es druckt nichts. –

0

Nehmen Sie einfach self.username = snap.value! as! String Es wird Ihr Problem lösen.

+0

Nun, es nicht –

+0

funktioniert können Sie das Foto von Ausdrucken (Snap) –