Almacene la image de JSON en Custom Class iOS

Estoy creando una aplicación de lector de RSS, siguiendo los tutoriales y lo que no.

Hasta ahora he creado una class personalizada llamada blogPost, que almacena el nombre de la publicación y el autor de la publicación, con un inicializador designado basado en el nombre.

Estoy intentando extraer la image en miniatura de la publicación en mi bucle for y mostrarla en la celda donde actualmente muestro el título y los attributes del autor.

Sujeté la URL de la image con éxito y la analicé desde JSON pero no puedo save la image en un UIImage.

//Custom header for BlogPost @interface BlogPost : NSObject @property (nonatomic, strong) NSString *title; @property (nonatomic, strong) NSString *author; @property (nonatomic, strong) UIImage *image; // Designated Initializer - (id) initWithTitle:(NSString *)title; + (id) blogPostWithTitle:(NSString *)tile; @end 

Y aquí está el tableViewController

 [super viewDidLoad]; NSURL *blogUrl = [NSURL URLWithString:@"http://www.wheninmanila.com/api/get_recent_summary/"]; NSData *jsonData = [NSData dataWithContentsOfURL:blogUrl]; NSError *error = nil; NSDictionary *dataDictionary = [NSJSONSerialization JSONObjectWithData:jsonData options:0 error:&error]; self.blogPosts = [NSMutableArray array]; NSArray *blogPostsArray = [dataDictionary objectForKey:@"posts"]; for (NSDictionary *bpDictionary in blogPostsArray) { BlogPost *blogPost = [BlogPost blogPostWithTitle:[bpDictionary objectForKey:@"title"]]; blogPost.author = [bpDictionary objectForKey:@"author"]; NSURL *thumbURL = [bpDictionary objectForKey:@"thumbnail"]; NSData *thumbData = [NSData dataWithContentsOfURL:thumbURL]; blogPost.image = [[UIImage alloc] initWithData:thumbData]; [self.blogPosts addObject:blogPost]; } 

Cambia esta línea:

 NSURL *thumbURL = [bpDictionary objectForKey:@"thumbnail"]; 

A esto:

 NSURL *thumbURL = [NSURL urlWithString:[bpDictionary objectForKey:@"thumbnail"]]; 

Los valores en su dictionary serán NSStrings , que no son lo mismo que NSURL .

Está utilizando NSURL lugar de un NSString y NSString no responde al selector isFileURL (por eso recibe la exception). Supongo que tu miniatura es una cadena, por lo que debes getla como NSString y convertirla a NSURL siguiente manera:

 NSString *thumbAsString = [bpDictionary objectForKey:@"thumbnail"]; NSURL *thumbURL = [NSURL URLWithString:thumbAsString];