簡體   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