J'essaie d'afficher des images à partir d'une URL JSON dans un UIImageView, similaire à Tinder, en utilisant SDWebImage. Chaque didacticiel que j'ai rencontré ne concerne que le téléchargement d'URL d'une seule image (@ "suchandsuch.png"), ou l'affichage des images dans les vues de table (ce que je ne veux pas faire).
Je ne sais pas ce que je fais mal.
Mon exemple de code: ViewController.m
-(void)viewDidLoad{ [super viewDidLoad]; AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; [manager GET:@"http://www.suchandsuch.com/api/sites" parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) { self.posts = (NSDictionary *) responseObject; self.post = self.posts[@"sites"]; NSLog(@"JSON: %@", self.post); } failure:^(AFHTTPRequestOperation *operation, NSError *error) { NSLog(@"Error: %@", error); }]; NSData *data = [[NSData alloc] initWithContentsOfURL: [NSURL URLWithSsortingng:@"http://www.suchandsuch.com/api/sites"]]; NSError *error; NSDictionary *jsonDict = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error]; NSSsortingng *logoSsortingng = [jsonDict objectForKey:@"logoURL"]; NSURL *logoURL = [NSURL URLWithSsortingng:logoSsortingng]; [self.myImage setImageWithURL:logoURL]; }
Je suppose que vous avez déjà ajouté les files SDWebImage à votre projet et que vous savez comment parsingr le JSON, voici tout ce que vous devez faire. Ajoutez cette ligne au début de votre class de controller de vue –
#import "UIImageView+Webcache.h
Après avoir analysé et récupéré l'object contient l'imageUrl dont vous avez besoin, par exemple le dictionary (dict) extrait du JSON
Exemple
NSSsortingng *jsonImageUrlSsortingng = [dict objectForKey:@"imageUrl"]; NSURL *imageURL = [NSURL URLWithSsortingng:jsonImageUrlSsortingng]; [[SDImageCache sharedImageCache] removeImageForKey:imageURL fromDisk:YES]; [self.profileImageView setImageWithURL:imageURL];
J'espère que ça aide
MODIFIER les files SDWebImage que vous devriez déjà avoir dans votre projet
En supposant que vous avez une structure JSON qui a un dictionary de imageUrl. Vous devez convertir le JSON en NSObject via cet extrait de code.
NSError *error; NSDictionary*jsonDictionary = [NSJSONSerialization JSONObjectWithData:jsonData options:kNilOptions error:&error]; NSSsortingng *imageUrl = [jsonDictionary objectForKey:@"imageURLKEY"]; [yourImageView sd_setImageWithURL:[NSURL URLWithSsortingng: imageUrl] placeholderImage:[UIImage imageNamed:@"anyTempImage.png"]];