Ios UIRefreshControl:发送到实例的选择器无法识别-绝对URL
在我开始之前,我已经讨论了与这个问题有关的每一个问题。没有帮助 我想刷新从网站获取的tableView的json内容 每个类别的URL来自不同的文件,其中列出了所有类别 获取内容的代码如下Ios UIRefreshControl:发送到实例的选择器无法识别-绝对URL,ios,swift,selector,nsurl,uirefreshcontrol,Ios,Swift,Selector,Nsurl,Uirefreshcontrol,在我开始之前,我已经讨论了与这个问题有关的每一个问题。没有帮助 我想刷新从网站获取的tableView的json内容 每个类别的URL来自不同的文件,其中列出了所有类别 获取内容的代码如下 func animalSelected(animal: Animal) { var request: NSURLRequest = NSURLRequest(URL: animal.url!) self.refresh(animal.url!) let session = NSURLSess
func animalSelected(animal: Animal) {
var request: NSURLRequest = NSURLRequest(URL: animal.url!)
self.refresh(animal.url!)
let session = NSURLSession.sharedSession()
let task = session.dataTaskWithURL(animal.url!, completionHandler: {data, response, error -> Void in
// println("Task completed")
if(error != nil) {
// If there is an error in the web request, print it to the console
println(error.localizedDescription)
}
var err: NSError?
var jsonResult = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers, error: &err) as NSDictionary
if(err != nil) {
// If there is an error parsing JSON, print it to the console
println("JSON Error \(err!.localizedDescription)")
}
let results: NSArray = jsonResult["posts"] as NSArray
self.didReceiveResults(jsonResult)
})
task.resume()
delegate?.collapseSidePanels?()
}
func didReceiveResults(results: NSDictionary) {
var resultsArr: NSArray = results["posts"] as NSArray
dispatch_async(dispatch_get_main_queue(), {
self.tableData = resultsArr
self.tableView.reloadData()
})
}
我的ViewDidLoad方法和refresh方法如下所示
override func viewDidLoad() {
super.viewDidLoad()
refresher = UIRefreshControl()
refresher.attributedTitle = NSAttributedString(string: "Pull to Refresh")
refresher!.addTarget(self, action: "refresh:", forControlEvents: UIControlEvents.ValueChanged)
self.tableView.addSubview(refresher)
}
func refresh(categoryUrl : NSURL) {
var request: NSURLRequest = NSURLRequest(URL: categoryUrl)
let session = NSURLSession.sharedSession()
let task = session.dataTaskWithURL(categoryUrl, completionHandler: {data, response, error -> Void in
if(error != nil) {
// If there is an error in the web request, print it to the console
println(error.localizedDescription)
}
var err: NSError?
var jsonResult = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers, error: &err) as NSDictionary
if(err != nil) {
// If there is an error parsing JSON, print it to the console
println("JSON Error \(err!.localizedDescription)")
}
let results: NSArray = jsonResult["posts"] as NSArray
self.didReceiveResults(jsonResult)
})
task.resume()
self.refresher.endRefreshing()
}
我需要刷新已选定的同一URL的内容,即刷新同一类别
我收到以下错误:[UIRefreshControl absoluteURL]:无法识别的选择器已发送到实例0x7fa0b3d73750
我认为这与绝对URL有关。我不知道是什么
plsss plssss plsss help您试图获取UIRefreshControl的绝对URL,您认为它实际上是一个NSURL
确切地说,refreshcategoryUrl:NSURL中的发件人是UIRefreshControl而不是NSURL。ok。。bt那么我该如何将动物选择函数的url传递给Refresh呢?你能帮我弄清楚需要做些什么来完成我要做的事情吗