簡體   English   中英

iOS Swift:在TableView上顯示異步數據

[英]iOS Swift: Displaying asynchronous data on a TableView

我有一個帶有TableViewViewController ,現在TableView的數據是通過另一個類中的http調用異步提取的。

class ViewController1: UIViewController, UITableViewDelegate, UITableViewDataSource {

    override func viewDidLoad() {
            super.viewDidLoad()
            // Do any additional setup after loading the view, typically from a nib.
            self.tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "cell")

            MyHttpClass().getData()//INITIATING getting data asynchronously
...
}

MyHttpClass幾秒鍾后異步獲取數據,但是它沒有ViewController的引用來移交數據(理想情況下,我需要調用ViewController.tableView.reloadData)

有沒有更好的方法來解決這個問題? 我如何獲得參考。 MyHttp獲取數據時, MyHttp將其發送到ViewController實例? 還有更好的方法來解決這個問題嗎?

好吧,我建議您使用回叫,為此添加一個輸入

 func getData(callBack:()->()){
    //When finished
    callBack()
}

然后打電話

MyHttpClass().getData() { () -> () in
        self.tableView.reloadData()
    }

解決此問題的最佳方法是使MyHttpClass().getData()在完成異步加載數據后執行回調。 然后,您可以在此回調中重新加載tableview。

暫無
暫無

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

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