簡體   English   中英

使用模態 swift 中的數據重新加載 tableview

[英]Reload tableview with data from a Modal swift

您好我嘗試從我的模態訪問我的數據到我的 ViewController 並且在我的 VC 中我嘗試重新加載我的 Tableview 但它不起作用,但我沒有收到任何錯誤。 我已經檢查過,以便通過在我的控制台打印它來從我的數據庫(firebase)中獲取數據。

這是我的代碼。
//我的視圖控制器

 // Load the user's contacts into the TableView (My ViewController)
    func loadContacts(willFilter: Bool){
        //contacts = MyContacts().contacts
        if willFilter {
            contactController.filterContacts()
        }
        contactTableView.reloadData()
    }

//我的模態

import Firebase
struct MyContacts {​​​​​​​​

let db = Firestore.firestore()
let currentUser = CurrentUser()
let fav = ContactsViewController?.self
var filteredContacts : [Contact] = []

    var contacts : [Contact] {​​​​​​​​

        var myContacts = [Contact]()

let collection = db.collection("users").document(currentUser.email).collection("contacts")

        collection.getDocuments() {​​​​​​​​ (querySnapshot, err) in

            if let err = err {​​​​​​​​

print("Error getting documents: \(err)")

            }​​​​​​​​ else {​​​​​​​​

                for document in querySnapshot!.documents {​​​​​​​​

                    if let contactID = document.data()["id"] as? String, let contactUsername = document.data()["name"] as? String{​​​​​​​​

                        let contactEmail = document.documentID

                        let contact = Contact(username: contactUsername, email: contactEmail, id: contactID)

                        myContacts.append(contact)
                    }​​​​​​​​
                }​​​​​​​​

                DispatchQueue.main.async {​​​​​​​​

                }​​​​​​​​
            }​​​​​​​​
        }​​​​​​​​

        return myContacts
    }​​​​​​​​

}​​​​​​​​

您可以嘗試在主線程中重新加載它嗎:

 DispatchQueue.main.async {​​​​​​​​
   
    contactTableView.reloadData()
 }​​​​​​​​

並且最好讓您的聯系人完成而不是返回它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM