我正在尝试使用UIRefreshControl
在桌面视图中实现刷新控制。
但是在应用程序中进行刷新时,它只是给我一个错误:
应用委托文件中的“主题1:信号SIGABRT”。
我不知道如何解决它。我需要帮助。谁能告诉我如何解决这个问题。
以下是我实施的代码:
class FeedTableViewController: UITableViewController, UITableViewDataSource, UITableViewDelegate, NSXMLParserDelegate {
var myFeed : NSArray = []
var url: NSURL = NSURL()
var tableViewCtrl = UITableViewController()
var refreshCtrl:UIRefreshControl!
override func viewDidLoad() {
super.viewDidLoad()
self.tableView.rowHeight = 100
self.tableView.dataSource = self
self.tableView.delegate = self
// value of the url comes from view controller swift file
loadNews(url);
self.refreshCtrl = UIRefreshControl()
self.refreshCtrl!.attributedTitle = NSAttributedString(string: "Pull to refresh")
self.refreshCtrl!.addTarget(self, action: "ref", forControlEvents: UIControlEvents.ValueChanged)
self.tableView.addSubview(refreshCtrl!)
}
func ref(sender:AnyObject)
{
loadNews(url)
self.refreshCtrl.endRefreshing()
}
func loadNews(data: NSURL) {
var myParser : XmlParserManager = XmlParserManager.alloc().initWithURL(data) as! XmlParserManager
myFeed = myParser.feeds
tableView.reloadData()
}
}
答案 0 :(得分:0)
由于您的func ref
有参数,因此您需要在将目标添加到刷新控件时添加:
,如下所示:
self.refreshCtrl!.addTarget(self, action: "ref:", forControlEvents: UIControlEvents.ValueChanged)