繁体   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