J'ai des images lourdes chargées en code de manière asynchrone. I am using Grand Central Dispatch, mais l'indicateur d'activité ne fonctionne pas. Aidez-moi à trouver l'erreur, s'il vous plaîtActivityIndicator en asynchrone - Swift
func loadImage() {
if let imageUrl = NSURL(string: "http://\($url)/1.jpg") {
let imageRequest: NSURLRequest = NSURLRequest(URL: imageUrl)
let queue: NSOperationQueue = NSOperationQueue.mainQueue()
NSURLConnection.sendAsynchronousRequest(imageRequest, queue: queue, completionHandler:{ (response: NSURLResponse!, data: NSData!, error: NSError!) -> Void in
if data != nil {
self.image = UIImage(data: data)!
self.productImageView.image = self.image
}
})
}
}
override func viewDidLoad() {
super.viewDidLoad()
self.imageActivityIndicator.startAnimating()
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), {() -> Void in
self.loadImage()
dispatch_async(dispatch_get_main_queue(), {() -> Void in
self.imageActivityIndicator.stopAnimating()
})
});
}
Merci! Donc, maintenant j'utilise de nouveau le 'imageActivityIndicator' dans 'viewDidLoad' et je fixe 'dispatch_async (dispatch_get_main_queue()'.) Et j'utilise ** Hides When Stopped ** dans le storyboard. – aXXy