2016-10-04 31 views
0

我這裏有我上傳的代碼火力地堡數據庫不能上傳

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) 
} 

}

文字上傳成功但 它不打印userName和不把它上傳到火力地堡數據庫 但用戶名是堅果零!

回答

2

嘗試使用您的觀察代碼,

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

}

+0

當我打印snapshot.value,它打印很好,但稍後當我打印我的userName變量時,它不會打印任何東西。 –

0

只要拿self.username = snap.value! as! String 它會解決你的問題。

+0

好了,實在不行 –

+0

你能後打印的照片(SNAP) –