繁体   English   中英

然后在Promisekit中重新加载tableview

[英]Reloading tableview in Promisekit's then

我正在尝试使异步。 要求使用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的最佳实践是什么。

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

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

这样,Swift知道返回的是Void。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM