[英]iOS Swift: Displaying asynchronous data on a TableView
我有一個帶有TableView
的ViewController
,現在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.