나는 사용자와 질문이라는 두 가지 컬렉션을 가지고 있습니다.Firebase에서 동 기적으로 데이터를 검색하는 방법은 무엇입니까?
userId를 사용하여 로그인 한 사용자를 기준으로 currQuestion
값을 users
컬렉션에서 가져옵니다.
currQuestion
값을 기준으로 Firebase Questions
컬렉션에서 question
문서를 검색해야합니다.
나는 userId를에게
rootRef.child("0").child("users")
.queryOrderedByChild("userId")
.queryEqualToValue("578ab1a0e9c2389b23a0e870")
.observeSingleEventOfType(.Value, withBlock: { (snapshot) in
for child in snapshot.children {
self.currQuestion = child.value["currentQuestion"] as! Int
}
print("Current Question is \(self.currQuestion)")
//print(snapshot.value as! Array<AnyObject>)
}, withCancelBlock : { error in
print(error.description)
})
를 검색하기 위해 아래의 코드를 사용했습니다 및 질문을
rootRef.child("0").child("questions")
.queryOrderedByChild("id")
.queryEqualToValue(currQuestion)
.observeSingleEventOfType(.Value, withBlock: { (snapshot) in
for child in snapshot.children {
print(child.value["question"] as! String)
}
}, withCancelBlock: { error in
print(error.description)
})
를 검색하지만 위의 코드는 비동기 적으로 실행합니다. 난이 동기 또는 청중을 구현하는 방법을 해결하기 위해 솔루션을해야합니다 질문을 다시 화재로 currQuestion
값이 변경되면?
필요한 모든 작업을 수행하려면 완료 블록을 사용하십시오. 동기화하지 마십시오. – Paulw11