2016-09-25 11 views
0

현재 Firebase로 채팅 응용 프로그램을 만드는 방법을 가르치는 Udemy의 강의를 진행하고 있습니다. 그러나 2 주 전에이 코스를 마치고 갑자기 Swift 3.0 업데이트가 나왔습니다. 지금 스위프트 3 중포 기지에이 라인을 변환하기 위해 고군분투 :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) 


     } 

    } 

그리고 나는이 작업을 수행하려고 :

는 그러나 물론이 오류를 반환
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

관련 문제