异步函数

时间:2017-07-03 14:35:30

标签: swift uitableview asynchronous cocoapods

我目前正致力于为IOS创建框架。我的框架必须向我的服务器发送请求,解析响应,然后更新应用程序主页面的UITableView。 我已经创建了一个Singleton类" MyUpdater"它有一个静态函数" addRow" 在我的应用程序中,我有2个对象:tableView和我用于tableView的对象列表。 我想要" addRow"方法(我的FrameWork)将对象异步添加到App的对象列表。 所以我创建了以下方法:

public static func addRow(tableView: UITableView, list: inout Array<Product>){
var my_object = Object()
list.insert(my_object, at: 1)
tableView.beginUpdates()
tableView.insertRows(at: [IndexPath(row: 1, section: 0)], with: .automatic)
tableView.reloadData()
tableView.enUpdates()}

我得到以下错误:转义闭包只能捕获inout。

如何从pod(框架)异步更新应用程序列表? 谢谢。 亲切的问候

1 个答案:

答案 0 :(得分:0)

为什么使用inout?我认为这在这里没有任何意义,因为它并不是一个传递参考。

你有没有尝试过这样的事情??

public func addRow(tableView: UITableView, list: Array<Product>){
   Dispatch.main.async {
      //update the list + tableview
   }
}