从协议刷新数据

时间:2018-01-26 17:33:38

标签: ios swift swift-protocols pull-to-refresh

我的协议看起来像这样:

protocol twitterModelProtocol: class {
    func feedTwitterDatesDownloaded(items: [feedStruct])
}

在我的UITableViewController中,我有这个代码,它从协议中获取数据:

func feedTwitterDatesDownloaded(items: [feedStruct]) {
    allData += items
    self.tableView.reloadData()
}

我的问题是,如何在此刷新功能中调用该功能?

@objc private func refreshOptions(sender: UIRefreshControl) {
    // What to do??? 
    print("REFRESHED YEAH")
    self.tableView.reloadData()
    sender.endRefreshing()
}

1 个答案:

答案 0 :(得分:1)

如果您的UITableViewController类符合twitterModelProtocol协议,那么您在课堂上所要做的就是:

self.feedTwitterDatesDownloaded(items: )

当然,为“items”参数发送正确的值。此外,“自我”是可选的。

还有一件事,您已经在tableView.reloadData()内拨打feedTwitterDatesDownloaded,因此在您拨打refreshOptions后,无需再在feedTwitterDatesDownloaded内拨打电话。< / p>