swift 中的刷新控件出错

Error while refresh control in swift

我正在尝试使用 UIRefreshControl 在 tableview 中实现刷新控制。

但是在应用程序中拉取刷新时,它只是给我一个错误:

"Thread 1 : Signal SIGABRT" in the app delegate file.

不知道怎么解决。我需要帮助。谁能告诉我如何解决这个问题。

下面是我实现的代码:

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()
}
}

由于你的func ref有一个参数,你在添加目标到刷新控件时需要添加:如下:

self.refreshCtrl!.addTarget(self, action: "ref:", forControlEvents: UIControlEvents.ValueChanged)