Я анализирую канал RSS, затем кэширую изображения из канала RSS и затем отображаю их в виде изображения ячейки. Однако метод, который я использую, замедляет время разбора RSS-канала и замедляет время прокрутки TableView. Пожалуйста, не могли бы вы сказать мне, как я мог ускорить этот процесс. Одна из ссылок на изображения: http://a1.phobos.apple.com/us/r1000/009/Video/95/5d/25/mzl.gnygbsji.71x53-75.jpg,, и один из RSS-каналов, которые я пытаюсь проанализировать: http://itunes.apple.com/au/rss/topmovies/limit=50/xml. Вот код, который я использую для кэширования изображений:
- (UIImage <em>)getCachedImage: (NSString</em>)url
{</p>
<pre><code>UIImage* theImage = [imageCache objectForKey:url];
if ((nil != theImage) && [theImage isKindOfClass:[UIImage class]]) {
return theImage;
}
else {
theImage = [UIImage imageWithData: [NSData dataWithContentsOfURL:[NSURL URLWithString: url]]];
[imageCache setObject:theImage forKey:url];
return theImage;
}
}
И код, который я использую для получения изображений:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {</p>
<pre><code>static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease];
}
// Configure the cell...
int storyIndex = [indexPath indexAtPosition: [indexPath length] - 1];
int wierd = storyIndex *6;
cell.textLabel.text = [[stories objectAtIndex: storyIndex] objectForKey: @"songtitle"];
cell.detailTextLabel.text = [[stories objectAtIndex:storyIndex] objectForKey:@"artist"];
if ([imageLinks count] != 0) {
cell.imageView.image = [self getCachedImage:[imageLinks objectAtIndex:wierd]];
}
return cell;
}
Как вы, наверное, видите, я использую NSMutableArray с именем imageLinks, для хранения imageLinks. Однако я получаю три ссылки на изображения из ленты rss, что означает, что если я пытаюсь получить кэшированное изображение: [imageLink objectAtIndex: storyIndex], изображения находятся в неправильных местах, но если я получаю кэшированное изображение: [imageLink objectAtIndex: странно], похоже, работает отлично. Так что, если вы увидите исправление, это было бы здорово.
Спасибо заранее.