FirebaseUI Firestore не получает данные на iOS - PullRequest
0 голосов
/ 28 августа 2018

Документация для FirebaseUI-Firestore iOS не очень тщательна, я реализовал код, но представление моей коллекции не заполняется:

class HomeViewController:UIViewController {

@IBOutlet weak var collectionView: UICollectionView!

var firestore:Firestore = Firestore.firestore()

override func viewDidLoad() {
    super.viewDidLoad()

    let query = firestore.collection("/offers")

    let dataSource = collectionView.bind(toFirestoreQuery: query) { (collectionView, indexPath, documentSnapshot) -> UICollectionViewCell in
        let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "cell", for: indexPath) as! OfferHolderCollection
        print("POPULATING")
        cell.myLabel?.text = documentSnapshot.data()?["name"] as? String
        return cell
    }        
}

В Android метод adapter.startListening () будет помещен внутри onResume () для начала извлечения данных, но, похоже, такого метода для iOS нет. Достаточно ли кода, приведенного выше, для начала извлечения данных?

1 Ответ

0 голосов
/ 28 августа 2018

Нашел мою ошибку. Из комментариев исходного кода FirebaseUI:

* The returned data source is not retained by the collection view and must be
* retained or it will be deallocated while still in use by the collection view.

И действительно, пример документации хранит его в self.datasource, тогда как мой код хранит его локально. Таким образом, проблема была устранена путем включения источника данных в ViewController.

...