使用Firebase调用completionHandler

Folk,Plese我打破了我的头,这个问题..我从Firebase填充collectionView,(按照从YouTube上的一些教程( 让build设应用程序 ),并适应我的目标。

我在ViewDidLoad上的ControllerDetail上调用函数fetchePhotosApp,但照片不显示集合。

ControllerDetail.swift

AppPhotos.fetchePhotosApp(pacienteID: self.paciente_key) { (appPhotos) in self.appPhotos = appPhotos self.collectionView?.reloadData() print("CALLING") } 

Models.swift

 static func fetchePhotosApp(pacienteID: String, completionHandler: @escaping ([AppPhotos]) -> ()) { let user = FIRAuth.auth()?.currentUser let appPhotos = AppPhotos() // var apps = [App]() // FIRDatabase.database().reference().child((user?.uid)!).child("photos").child(pacienteID).observeSingleEvent(of: .value, with: { (snapshot) in var newPhotos = [Photo]() for itemSnapShot in snapshot.children { let item = Photo(snapshot: itemSnapShot as! FIRDataSnapshot) newPhotos.append(item) } let photos = App()// var dataConsulta = [Int]() for index in 0..<newPhotos.count { if !dataConsulta.contains(newPhotos[index].data_consulta!) { dataConsulta.append(newPhotos[index].data_consulta!) } appPhotos.data_consulta = newPhotos[index].data_consulta_text let url = URL(string: newPhotos[index].photo_original!) URLSession.shared.dataTask(with: url!, completionHandler: { (data, response, error) in if error != nil { print(error!) return } photos.photo_original = UIImage(data: data!) apps.append(photos) print("DOWNLOADED") }).resume() } print("OUT FOR") appPhotos.apps = apps DispatchQueue.main.async(execute : { completionHandler([appPhotos]) }) }, withCancel: nil) } 

输出:

 OUT FOR CALLING DOWNLOADED DOWNLOADED DOWNLOADED DOWNLOADED DOWNLOADED DOWNLOADED 

Tks帮助我