2016-09-25 72 views
0

私は現在、Firebaseでチャットアプリケーションを作成する方法を教えるUdemyのコースに進んでいます。しかし、私は数週間前にこのコースを終了し、突然Swift 3.0のアップデートになった。Swift Firebase snapshot.allValues update

firebase.child("Recent").queryOrderedByChild("chatRoomID").queryEqualToValue(chatRoomID).observeSingleEventOfType(.Value) { (snapshot:FIRDataSnapshot) in 


     var createRecent = true 

     if snapshot.exists() { 
      for recent in snapshot.value!.allValues { 
       if recent["userId"] as! String == userId { 
        createRecent = false 
       } 
      } 
     } 

     if createRecent { 

      CreateRecentItem(userId, chatRoomID: chatRoomID, members: members, withUserUsername: withUserUsername, withUserUserId: withUseruserId) 


     } 

    } 

をそして私はこれを実行しようとしました:私は今スウィフト3 Firebaseにして、この行を変換するために苦労しています

firebase.child("Recent").queryOrdered(byChild: "chatRoomID").queryEqual(toValue: chatRoomID).observeSingleEvent(of: .value) { (snapshot:FIRDataSnapshot) in 

     var createRecent = true 

     if snapshot.exists() { 

      if let values = snapshot.value as? [String:AnyObject] { 

       for recent in values { 
        if recent["userId"] as! String == userId { 

        } 
       } 
      } 

       //} 

      } 

     } 

    } 

しかし、もちろん、これはエラーを返しました。この特定のコード変換をどのように解決するかについてのアイデアはありますか?

ありがとうございます。

+0

言及エラーとエラー – Dravidian

答えて

3

は、使用してみてください: -

firebase.child("Recent").queryOrdered(byChild: "chatRoomID").queryEqual(toValue: chatRoomID).observeSingleEvent(of: .value, with: { (snapshot:FIRDataSnapshot) in 

     var createRecent = true 

     if snapshot.exists() { 

      if let values = snapshot.value as? [String:AnyObject] { 

       for recent in values { 
        if let userId = recent.value["userId"] as? String{ 

         } 
       } 
      } 
     } 

    }) 
+0

感謝のライン!出来た! – askaale