2016-10-04 5 views
0

У меня есть код загрузки здесьFirebase базы данных не Выгрузка

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

}

текст успешно закачанный Но Он не печатает имя пользователя и не загружать его Firebase базы данных Но имя пользователя является гайка нуль!

ответ

2

Попробуйте использовать свой код наблюдателя, как,

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

}

+0

при печати snapshot.value, It print, но позже, когда я печатаю переменную userName, ничего не печатает. –

0

Just take self.username = snap.value! as! String Это решит вашу проблему.

+0

Ну, это не работает –

+0

Вы можете разместить фотографию печати (оснастки) –

Смежные вопросы