我创建了一个简单的XML-Parser来解析我的RSS源到我的应用程序。 从xml文件解析的简单的id,currentstatus,picture。 但我无法从XML文件中获取图像。 。我从xml文件中检索所有图像。但noimage.jpg没有显示。能不能请任何帮助我。
XML代码
<Agent>
<id>3422</id>
<currentstatus>Logged Off</currentstatus>
<picture>1</picture>
</Agent>
<Agent>
<id>3432</id>
<currentstatus>Logged Off</currentstatus>
<picture>0</picture>
</Agent>
我尝试了以下代码:
UIImage * cellimages = [[UIImage alloc]init];
NSString *string1 = @"http://telecomstats.co.uk/images/LLReaderProfile/";
NSString *cellvalue =[[[[self rssParser]rssItems]objectAtIndex:indexPath.row]picture];
NSString* disable = [[NSString alloc] initWithString:@"0"];
if (cellvalue == disable)
{
cellimages = [UIImage imageWithContentsOfFile:@"http://telecomstats.co.uk/images/LLReaderProfile/noimage.jpg"];
}
else {
cellimages = [string1 stringByAppendingString:[[[[self rssParser]rssItems]objectAtIndex:indexPath.row]id]];
cellimages = [cellimages stringByAppendingString: @".jpg"];
}
cellimages = [[UIImage alloc] initWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:cellimages]]];
cell.imageView.image = cellimages;
有人可以帮助我吗? 感谢您的帮助和见解。
答案 0 :(得分:0)
您正在使用cellimages
这是一个UIImage
对象来存储您的else分支中的字符串。当cellvalue == disable
为真时,执行此操作:
cellimages = [UIImage imageWithContentsOfFile:@"http://telecomstats.co.uk/images/LLReaderProfile/noimage.jpg"];
cellimages = [[UIImage alloc] initWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:cellimages]]];
你在UIImage
放了[NSURL URLWithString:]
,这可能不起作用;实际上这段代码应该产生一些警告。尝试在URL字符串和要显示的图像对象之间正确分隔。将所有网址内容放在NSString
中,然后在确定正确的网址后获取UIImage
。
请注意,您的代码还有其他一些问题,尤其是您正在使用dataWithContentsOfURL
和imageWirhContentsOfFile
这两个问题都会阻塞,直到图像被检索为止。这将导致应用程序在使用错误的Internet连接时挂起,如果网络速度太慢,则会导致应用程序崩溃。查看异步下载和使用AFNetworking等框架。