我有一个ViewController
,其中包含TableView
,现在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 - 我需要的是什么调用)
有没有更好的方法来解决这个问题?我如何得到参考。 ViewController
获取数据时到MyHttp
实例?有没有更好的方法来处理这个?
答案 0 :(得分:3)
好吧,我建议您使用回调,添加输入
func getData(callBack:()->()){
//When finished
callBack()
}
然后致电
MyHttpClass().getData() { () -> () in
self.tableView.reloadData()
}
答案 1 :(得分:2)
解决此问题的最佳方法是使{{1}}在完成异步加载数据时执行回调。在此回调中,您可以重新加载tableview。