我遇到问题"拉到刷新"。我使用内置n=100
的{{1}},UIViewController
目标设置如下:
UITableView
当我拉 - 有一个例外:
UIRefreshControl
答案 0 :(得分:5)
阅读几个教程。
在iOS10 UIRefreshControl
中添加了TableViews。
我在homeproject中使用的简单代码:
private let refreshControl = UIRefreshControl()
override func viewDidLoad() {
tableView.refreshControl = refreshControl
refreshControl.addTarget(self, action: #selector(ViewController.refreshData(sender:)), for: .valueChanged)
fetchFixtures()
}
func refreshData(sender: UIRefreshControl) {
fetchFixtures()
refreshControl.endRefreshing()
}
答案 1 :(得分:4)
在Swift 3中,默认情况下不再忽略第一个参数。在Swift 2中,您的刷新方法签名为refresh(_:)
,现在它是refresh(sender:)
,因此Selector("refresh:")
无法正常工作。
我建议您在第一个参数中添加下划线,使其看起来像func refresh(_ sender: AnyObject)
。
我还建议你使用新的Selector语法,它应该看起来像这样#selector(refresh(_:))
如果您使用新的Selector语法(您应该),我认为您也可以保留第一个参数并使其看起来像#selector(refresh(sender:))