然后在Promisekit中重新加载tableview

时间:2015-08-18 06:10:16

标签: ios swift uitableview promisekit

我想尝试异步。请求使用Promisekit的承诺。我在UITableViewController的子类中有以下代码,用从异步中获取的数据重新加载tableview。请求。

my_promise.then { asynly_fetched_data in 
  self.data = asyncly_fetched_data
  self.tableView.reloadData()
} 

但是,以下语句(self.tableView.reloadData())导致以下构建错误。

 Missing return in a closure expected to return 'AnyPromise' 

是不是因为我们无法在闭包内调用reloadData()。如果是这种情况,在异步请求完成后重新加载tableview的最佳做法是什么。

1 个答案:

答案 0 :(得分:2)

这是一个快速的错误。但您可以通过在闭包中添加-> Void来解决此问题:

my_promise.then { asynly_fetched_data -> Void in 
  self.data = asyncly_fetched_data
  self.tableView.reloadData()
} 

这样,Swift知道返回是Void。