Avant de commencer, j'ai parcouru toutes les questions relatives à ce problème. n'a pas aidé.UIRefreshControl: sélecteur non reconnu envoyé à instance - absoluteURL
Je veux actualiser le contenu json de ma tableView qui sont récupérés à partir d'un site Web.
L'URL de chaque catégorie provient d'un fichier différent contenant toutes les catégories répertoriées.
Le code qui va chercher le contenu est ce
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()
})
}
Ma méthode de viewDidLoad et la méthode refresh
est comme indiqué ci-dessous
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()
}
je dois rafraîchir le contenu de la même URL qui a été sélectionné, c'est-à-dire actualiser la même catégorie.
Je reçois cette erreur: [UIRefreshControl absoluteURL]: unrecognized selector sent to instance 0x7fa0b3d73750
Je pense qu'il est quelque chose lié à absoluteURL
. Bt ne sais pas quel est-il ..
plsss plssssss plssss aider
ok .. bt puis comment shd je passe l'url de la fonction animalSelected pour rafraîchir() –
pouvez-vous pls m'aider à comprendre ce qui doit être fait pour accomplir ce que je suis en train de faire –