2017-04-17 8 views
0

次のクエリを実行してスナップショットから値を取得していますが、値はオプションとして返されています。オプションのFirebaseデータベース値を取得しないでください。

ref.child("PGroups").observeSingleEventOfType(.Value, withBlock: { (snapshot) in 
    let groupName = String(rest.childSnapshotForPath("/GroupName").value) 
    print(groupName) 
}) 

と、次の印刷された文を取得しています:"Optional(Name)"ちょうどするappoosedとして:オプション"Name"

+0

なぜ値がオプションであると思わないのですか? – rmaddy

答えて

2

は、単にアンラップするようにコンパイラに伝えるために感嘆符を追加します。

print(groupName!)印刷する必要があります"Name"

コードを次のように変更することもできます。

ref.child("PGroups").observeSingleEventOfType(.Value, withBlock: { (snapshot) in 
    let snapshotValue = snapshot.value as! [String: Any] 
    let groupName = snapshotValue["GroupName"] as! String 
    print(groupName) 
}) 
関連する問題