Swift Firebase - получить текущего пользователя с UID документа для заполнения списка - PullRequest
0 голосов
/ 01 мая 2018

Итак, я сделал это в своем приложении для Android (и оно работает), чтобы заполнить список именами документов из коллекции

  db.collection("usersAuth/${FirebaseAuth.getInstance().uid!!}/KitLists")
            .addSnapshotListener(EventListener<QuerySnapshot> { value, e ->
        if (e != null) {
            Log.w("TAG", "Listen failed.", e)
            return@EventListener
        }

        for (document in value.documents) {
            val data = document

            val kitName = data.id

            firstKitList.add(kitName)

        }

        mainListViewAdapter.notifyDataSetChanged()
    })

Я пытаюсь сделать то же самое на моей версии для iOS, но я не знаю, что не так

override func viewWillAppear(_ animated: Bool) {

    setListener()

}

func setListener() {

    db.collection("usersAuth/\(String(describing: Auth.auth().currentUser))/KitLists")
        .addSnapshotListener { (snapshot, error ) in
            if let err = error {
                debugPrint("Error fetching docs: \(err)")
            } else {
                guard let snap = snapshot else {return}
                for document in snap.documents {
                    let data = document.data()
                    let kitListName = data["KitLists"] as? String


                 let newLists = KitList(kitListName: kitListName!)
                    self.lists.append(newLists)
                }


                self.tableView.reloadData()
            }
    }

}

есть идеи? Спасибо

- РЕДАКТИРОВАТЬ

Firestore

Firestore2

1 Ответ

0 голосов
/ 01 мая 2018

Вам необходимо получить uid от currentUser, например:

if let userId = Auth.auth().currentUser.uid {
        db.collection("usersAuth").document(userId).collection("KitLists")
            .addSnapshotListener { (snapshot, error ) in
        //...
    }

Для получения идентификатора документа KitLists

for document in snap.documents {
    let documentName = document.documentID // <--- This
    let newLists = KitList(kitListName: documentName)
    self.lists.append(newLists)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...