Firebase를 사용하는 응용 프로그램에서 작업하고 있습니다. 내가 성취하고자하는 것은 Firebase에서 데이터를 가져 와서 그 데이터를 정렬 한 다음 마침내 한 번 완료된 데이터를 tableView에로드하는 것입니다.데이터 가져 오기, 데이터 정렬, 테이블보기로로드 (Swift 3 : Firebase)
은 그럴 거 주 내 전체 코드를 해요,하지만 여기에 내가 그것을 작동하는 방법을 근본적으로이다 : print("Test")
가 불려 가도록 ...
var posts = [PostStruct]()
var following = [String]()
let databaseRef = FIRDatabase.database().reference()
for follower in following {
databaseRef.child("Posts").child(follower).observe(.value, with: {
DataSnapshot in
//Parse All The Data...
self.posts.insert(...)
}
}
self.posts.sort{$0.date.compare($1.date) == .orderedDescending}
print("Test")
self.tableView.reloadData()
하지만 불려갑니다 FIRDatabase가 요청되기 전에 정렬 할 때 tableView에 데이터가 전혀 없다는 것을 알 수 있습니다. 그래서, 일단 데이터베이스가 요청을 마친 후에 만 정렬하는 방법을 찾아야합니다.
for 문에 sort 및 reload 메서드를 넣을 수는 있지만 작동하지만 고르지 않은 것을 모두로드합니다. 그리 효율적이지 않습니다.
고마워요! 나는 실제로 그 생각을 염두에두고 있었지만, 제대로 생각하지 않았습니다. 도와 주셔서 감사합니다! 너는 생명의 은인이야. :) –
대부분 환영합니다. 그 순간도 있었어. 기꺼이 도와주세요. 나는 콜백 함수에 대해서도 @Pentarex 제안을 좋아한다. 나는 그 해결책이 조금 더 우아해 보일 것이라고 오랫동안 생각한다. – Donny
그래, 나는 그 사실을 명심해야한다. :) –