2016-09-20 1 views
1

Je veux faire ce qui suit:Comment faire AFNetworking définir une image par défaut lorsque le téléchargement échoue?

  1. Lorsque l'image chargement => Doit afficher une fileuse ou d'une autre image indiquant le chargement;
  2. Lorsque l'image est chargée => Doit afficher l'image;
  3. Lorsque l'image échoue => Doit afficher une image statique "pas d'image disponible".

J'ai essayé:

- (void)setImageWithURL:(NSURL *)url 
    placeholderImage:(UIImage *)placeholderImage 

Mais je ne pouvais pas comprendre comment gérer l'événement d'échec.

+0

placeholderImage sera affiché Incase d'événement d'échec. –

+0

@TejaNandamuri Je veux qu'une autre image soit affichée en cas d'échec. Pas celui pendant le chargement. – Zakaria

+0

pls regarder dans la catégorie SDWebImageView, il a toutes les méthodes dont vous avez besoin. –

Répondre

1

Pourquoi utilisez-vous pas

setImageWithURLRequest:placeholderImage:success:failure: 

From the doc

et définissez l'image voulue d'espace réservé dans l'échec bloc?

Exemple:

NSURLRequest * aURLRequest = [[NSURLRequest alloc] initWithURL:[[NSURL alloc] initWithString: @"A-URL"]]; 
UIImageView * img = [[UIImageView alloc] init]; 
__weak UIImageView* weakImg = img; 
[img setImageWithURLRequest:aURLRequest 
      placeholderImage:nil 
        success:^(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image) { 
         //default 
        } 
        failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error) { 
         weakImg.image = [UIImage imageNamed:@"fallbackImage"]; 
        }]; 
+0

Et puis j'ai besoin de créer la demande manuellement. Je pensais qu'il pourrait y avoir un moyen plus simple: D – Zakaria

+0

Vous pouvez envelopper avec une méthode d'utilité dans une extension, ou chercher une des nombreuses bibliothèques autour, mais c'est simple ça ne vaut pas vraiment :) – jalone

+0

Okay quand j'ai essayé le mettre dans une méthode d'aide, et assigné une 'aucune image disponible' à mon image dans le bloc de défaillance, j'obtiens cette erreur: ' Variable n'est pas assignable (spécificateur de type _block manquant) ' – Zakaria