2017-12-17 2 views
-2

나는 firebase 데이터베이스에서 자식을 먼저 읽은 다음 그 자식의 키를 배열에 저장해야하는 응용 프로그램이 있습니다. 그 후 필자는 파이어베이스에서 읽은 동일한 아이에게 새로운 가치를 쓰는 기능을 썼다.firebase에서 ONCE를 읽는 방법 (업데이트하지 않음)

읽기 기능이 한 번만 읽히고 지금은 그대로 업데이트되지 않도록하고 싶습니다. writeFunction이 작성한 것이 아니라, 최초의 값을 얻고 싶습니다.

EX : 영화 : 내 중포 기지에서 { (242) : "쥬만지 : 오신 것을 환영합니다 정글에" 342 : "토르 : 라그나로크" } 내 코드에서

:

func readOldMovieID(){ 
     ref = Database.database().reference() 
    let userID = Auth.auth().currentUser?.uid 
    ref?.child("users").child(userID!).child("Movie").observeSingleEvent(of: .childAdded, with: { (snapshot) in 
     print("read Key:") 
      print(snapshot.key) 
       self.lastMovie.append(snapshot.key) 

    }) { (error) in 
     print(error.localizedDescription) 
    } 

이 대명사를 읽으려면 다른 대구를 시도했습니다! 그러나 나는 아직도 내가 옳은 것을 찾을 수 없다고 생각한다.

+0

'observeSingleEvent (of : .value)'이 효과가 있습니까? 그것은 한 번만 읽고 관찰자를 제거합니다. – EDUsta

+0

정상적으로 작동하지 않습니다. lastMovie 배열은 firebase의 값이 업데이트 될 때 업데이트 중입니다. – AL3MS

+0

viewLoad에 readFunction을 한 번 호출했습니다. – AL3MS

답변

0

읽기 전에 아이가 있는지 확인하면 문제가 해결됩니다. 감사합니다 모두