Firestore - добавить в tableView при загрузке представления - PullRequest
0 голосов
/ 05 мая 2018

Может кто-нибудь показать мне, как я могу добавить данные из Firestore в массив? Я хотел бы сделать так, чтобы при появлении представления данные добавлялись в приведенный ниже массив, а затем в правильные метки tableView. Когда я вызываю print ("(document.data ())"), данные показывают, как это должно происходить в нижней панели, я просто не знаю, как сделать так, чтобы они добавлялись в мой массив. Любая помощь будет принята с благодарностью, большое спасибо!

Firestore

Xcode нижняя панель

struct DetailsAdded {
    var titleName: String
    var detailsName: String

}

var array = [DetailsAdded]()

override func viewDidLoad() {
    super.viewDidLoad()

    db = Firestore.firestore()
    loadData()

    }

func loadData() {
    db.collection("Users").getDocuments() { (querySnapshot, err) in
        if let err = err {
            print("Error getting documents: \(err)")
        } else {
            for document in querySnapshot!.documents {
                print("\(document.data())")
            }
        }
    }

}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: "CreateWorkoutCell", for: indexPath) as! CreateWorkoutTableViewCell

    cell.titleLabel.text = array[indexPath.row].titleName
    cell.detailsLabel.text = array[indexPath.row].detailsName

    return cell
}

1 Ответ

0 голосов
/ 05 мая 2018
    if let snapshot = querySnapshot {

        for document in snapshot.documents {

            let data = document.data()
            let name = data["name"] as? String ?? ""
            let details = data["details"] as? String ?? ""
            let newDetails = DetailsAdded(titleName: name, detailsName: details)
            array.append(newDetails)
        }

        self.tableView.reloadData()
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...