En utilisant l'API Facebook Graph, j'ai récupéré une URL de chaîne pour une image de profil 200x200
que je souhaite afficher dans un UIImageView
. Je suis capable de le faire avec succès, mais je remarque que cela peut prendre jusqu'à 10 secondes pour que l'image s'affiche sur l'écran. Quelqu'un peut-il me donner quelques conseils (sans jeu de mots) sur la façon de l'optimiser?L'image basse résolution est trop longue à charger
override func viewDidAppear(animated: Bool) {
super.viewDidAppear(animated)
NSURLSession.sharedSession().dataTaskWithURL(NSURL(string: self.profilePictureUrl)!, completionHandler: { (data, response, error) ->
Void in
self.profilePictureImageView.image = UIImage(data: data!)
self.profilePictureImageView.layer.cornerRadius = self.profilePictureImageView.frame.size.width/2;
self.profilePictureImageView.clipsToBounds = true
dispatch_async(dispatch_get_main_queue(), {() -> Void in
self.view.addSubview(self.profilePictureImageView)
})
}).resume()
}
Vous essayez peut-être d'ajouter la sous-vue en dehors de l'appel asynchrone, puis de simplement définir l'image de la sous-vue dans le bloc d'achèvement? – brandonscript