2016-08-08 12 views
4

Ich habe diesen Fehler, aber ich versuche, eine String von einem Dictionary zu erhalten. Dies ist mein Code:Swift - Wert des Typs '__NSCFString' konnte nicht in 'NSDictionary' umgewandelt werden

FIRDatabase.database().reference().child("users").child(uid).observeEventType(.ChildAdded, withBlock: { (snapshot) in 

      let dictionary = snapshot.value as! NSDictionary 

      if let username = dictionary["name"] as? String { 
       cell.name.text = username 
      } 

      if let userlogin = dictionary["login"] as? String { 
       cell.login.text = userlogin 
      } 

     }) 

In meiner Firebase Datenbank"name" und "login" sind beide Strings. Ich kann nicht verstehen, was das Problem ist.

Jede Hilfe würde sehr geschätzt werden!

+0

Problem mit Schnappschuss Cast zu NSDictionary. Überprüfen Sie snaphsot Inhalt beim Debuggen – lubilis

+2

'snapshotvalue' ist Zeichenfolge und Sie versuchen, diesen Wert in das Wörterbuch zu konvertieren. –

+0

@lubilis, musste ich verwenden, wenn Bau lassen. Vielen Dank! Du hast mich gerettet! –

Antwort

4

Problem betrifft Snapshot Cast zu NSDictionary. Da der Snapshot-Wert ein String ist. Versuchen Sie Folgendes:

FIRDatabase.database().reference().child("users").child(uid).observeEventType(.ChildAdded, withBlock: { (snapshot) in 

     if let dictionary = snapshot.value as? NSDictionary { 

      if let username = dictionary["name"] as? String { 
       cell.name.text = username 
      } 

      if let userlogin = dictionary["login"] as? String { 
       cell.login.text = userlogin 
      } 
     } 
    }) 
Verwandte Themen