我想尝试异步。请求使用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的最佳做法是什么。
答案 0 :(得分:2)
这是一个快速的错误。但您可以通过在闭包中添加-> Void
来解决此问题:
my_promise.then { asynly_fetched_data -> Void in
self.data = asyncly_fetched_data
self.tableView.reloadData()
}
这样,Swift知道返回是Void。