2017-11-13 5 views
1

내 firebase 데이터베이스에서 데이터를 캐시하기 위해 지속성을 사용하지만, 앱로드시와 그렇지 않으면 데이터베이스에서 일부 데이터를로드해야하기 때문에 문제가 발생합니다. 캐싱 된 데이터. 데이터베이스의 데이터가 표시된 테이블 뷰가 있는데 데이터베이스로 업데이트하고 테이블 뷰에 저장된 데이터를 찾지 않아야합니다. 지금은 서버에서 데이터를 가져 오기 위해Firebase 데이터 지속성, 문제 해결 - Swift

self.ref?.child(u.uid).observe(.value, with: { (snapshot) in 
    print(offersnapshot) 
}) 

을 사용하고 있습니다. 하지만 지금은 데이터가 업데이트되기 전에 앱을 다시 시작해야합니다.

+0

공유하는 코드는 리스너를 설정하며 서버의 라이브 버전으로도 호출되어야합니다. 해당 참조 및 네트워크 연결에 대해 캐시 된 값이있는 경우 완료 핸들러는 캐시 된 버전의 경우 한 번, 서버의 버전의 경우 한 번 (다른 경우) 한 번 두 번 실행될 수 있습니다. –

답변

0

제공 한 정보에서 firebse 서버 데이터베이스와 firebase 캐시 데이터를 동기화 할 수 없다고 생각합니다. 시도해보십시오.

let scoresRef = Database.database().reference(withPath: "rootNode") 
scoresRef.keepSynced(true) 
+0

스냅 샷 또는 viewDidLoad에서 참조를 사용해야합니까? –

+0

inside viewDidLoad이 코드를 넣을 수 있으며 firebase 값 옵저버에서 테이블 뷰를 다시로드하는 것을 잊지 마십시오. –