2015-07-08 1 views
0

Я создаю приложение для RSS-канала для работы, и я в значительной степени сделал это, за исключением одного, чтобы получить изображение для каждой статьи, чтобы загрузить изображение в виде миниатюры UIImage View. Я искал в Интернете ответы на некоторые вопросы, но все же не понял, через несколько дней. Вот код, который я до сих пор связаны с изображениями:DIsplaying миниатюрное изображение из RSS-канала в таблицу tableView

В моем классе MWFeedParser.m:

else if ([currentPath isEqualToString:@"/rss/channel/item/media:thumbnail"]) 
{ 
    if ([currentElementAttributes objectForKey:@"url"]) 
     { 
      item.thumbnailURL = [currentElementAttributes valueForKey:@"url"]; 
          processed = YES; 
     } 
} 

В моем классе RSSMaster.m:

NSString *imageURLstr = item.thumbnailURL ? item.thumbnailURL : @""; 

В моем классе RSSResults.m :

NSLog(@"IMAGE URL: %@", imageURLstr); 

if (![imageURLstr isEqualToString:@""]) { 
NSURL *imageURL = [NSURL URLWithString:imageURLstr]; 

//image download 
dispatch_queue_t q = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0ul); 
dispatch_async(q, ^{ 
/* Fetch the image from the server... */ 
NSData *data = [NSData dataWithContentsOfURL:imageURL]; 
UIImage *img = [[UIImage alloc] initWithData:data]; 
dispatch_async(dispatch_get_main_queue(), ^{ 
/* This is the main thread again, where we set the tableView's image to 
be what we just fetched. */ 
cell.thumbnail.image = img; 
     }); 
    }); 
} 

Изображение начинается в коде src = и описывается описанием artcile. Поэтому мой вопрос заключается в том, как мне закодировать мой проект, чтобы отдельная ссылка на изображение для каждой статьи попадала в мой просмотр UIImage в моем ящике tableView?

Любая подробная помощь будет принята с благодарностью, так что я смогу, наконец, сделать это, спасибо!

ответ

1

You can use an XML Parser, или вы можете рассматривать его как NSString и извлечь атрибут src так:

NSString *imageURLstr=item.summary; 
imgURL = [imgURL substringToIndex:[imgURL rangeOfString:@"alt="].location-2]; 
imgURL = [imgURL substringFromIndex:[imgURL rangeOfString:@"src="].location+[@"src=" length]+1]; 

NSLog(@"src: %@",imgURL); 
+0

Спасибо за быстрый ответ, я реализовал его, и он работал, но теперь это просто показывает тот же piture из одной статьи для всех миниатюр в ячейках. Любые мысли почему? – Christophorus

+1

Может быть, потому, что вы получаете содержимое URL только один раз и разбираете только первое изображение. Если вы сделаете код, в котором вы получите содержимое RSSfeedit, мне будет лучше помочь. – Aladin

+0

Конечно, я могу поделиться им, спасибо за продолжение помощи. Я создал репозиторий для него на github, чтобы вы могли увидеть весь проект. Файл, в котором я ввел код, который вы мне дали, и где он получает ссылку на канал rss, находится в «RSSReader/RSSReader/Classes/RSSMaster.m» . Вот ссылка на репозиторий: https: // github.com/cpoti24/RSSReader – Christophorus

 Смежные вопросы

  • Нет связанных вопросов^_^