我目前正在开发一个新闻应用程序,并且非常希望将图像添加到新闻文章图像的表格行中。
我已设法解析其他所有内容,只是我无法解析图片网址。
这是我用来从Feed中去除HTML的代码。
.M文件
- (NSString *)stringByStrippingHTML:(NSString *)inputString
{
NSMutableString *outString;
if (inputString)
{
outString = [[NSMutableString alloc] initWithString:inputString];
if ([inputString length] > 0)
{
NSRange r;
while ((r = [outString rangeOfString:@"<[^>]+>" options:NSRegularExpressionSearch]).location != NSNotFound)
{
[outString deleteCharactersInRange:r];
}
}
}
return outString;
}
.H文件
- (NSString *)stringByStrippingHTML:(NSString *)inputString;
我对xcode和代码都很陌生,所以我对这些东西并不熟悉。
我无法弄清楚解析图片的网址。
这是tablerow外观的代码。
// Customize the appearance of table view cells.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease];
}
cell.textLabel.numberOfLines=3;
cell.detailTextLabel.numberOfLines=4;
RSSEntry *entry = [_allEntries objectAtIndex:indexPath.row];
NSDateFormatter * dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
[dateFormatter setTimeStyle:NSDateFormatterMediumStyle];
[dateFormatter setDateStyle:NSDateFormatterMediumStyle];
NSString *articleDateString = [dateFormatter stringFromDate:entry.articleDate];
NSString * articleDescrptionString = [[[NSString alloc] init] autorelease];
articleDescrptionString = entry.articleDescription;
cell.textLabel.text = entry.articleTitle;
NSString *plainString = [self stringByStrippingHTML:entry.articleDescription ];
cell.imageView.image = [UIImage imageNamed: entry.articleImageUrl];
//NSString *rangedString = [plainString substringToIndex:249]; //0 to 249 makes it 250 characters
//cell.detailTextLabel.text = articleDescrptionString;
cell.detailTextLabel.text = [NSString stringWithFormat:@"%@ - %@", articleDateString, plainString];
//UIImage *theImage = [UIImage imageWithContentsOfFile:entry.articleImageUrl];
//cell.imageView.image = theImage;
return cell;
}
我注释掉的任何代码目前都没有被使用过。
答案 0 :(得分:0)
您需要先将图像加载到NSData对象中......
NSURL *imgURL = [NSURL URLWithString:entry.articleImageUrl];
NSData *imgData = [NSData dataWithContentsOfURL:imgURL];
cell.imageView.image = [UIImage imageWithData:imgData];
但是你必须异步执行它,因为如果你在没有延迟图像加载的情况下执行它,那么在滚动时TableView将会存货......