你好的人比我聪明,
我有两个xml元素,一个是标题,另一个是图像的URL。我试图显示UILabel和UIImageView。我的问题是图像没有显示出来。
这是我到目前为止所做的...... 如果我将_track.consultant_pic传递给UILabel,我可以在我的标签中看到字符串(http://mysite.com/ted.jpg)。所以我知道数据是从XML传递的。
如果我将网址的实际路径写入NSURL * url,则可以正常工作。所以我知道从UIImage到UIImageView的设置图像代码是正确的。
答案 0 :(得分:0)
您的网址中可能有一些编码字符会阻止加载图片表单。有关详细信息,请参阅this page。 NSLog(_track.consultant_pic);
说什么?你在那里发现任何编码的字符吗?
答案 1 :(得分:0)
我认为您最好的选择是使用dataWithContentsOfURL:options:error:
,并检查NSError
对象是否有任何有用的信息,例如:
NSError *error = nil;
NSData *data = [NSData dataWithContentsOfURL:url options:0 error:&error];
if (error) {
NSLog(@"%@: %@", [error localizedDescription], [error localizedFailureReason]);
}
在不相关的说明中,您的方法存在内存泄漏:UIImageView
会保留其图像,因此您需要在方法结束时添加[currentImage release];
。
编辑:查看刚刚粘贴的代码,可能只是忘记了将view_consultant_pic
插座连接到Interface Builder中的TracksDetailViewController
。在你做任何其他事情之前仔细检查一下,这是一种常见的疏忽。
答案 2 :(得分:0)
感谢帮助我们认为我们有赢家的人:
在日志中,它显示我在下一行返回的已解析元素,而不是使用我的时间代码刷新。我从来没有真正注意到它,因为网址很适合我的UILabel。并且总是只是认为我的网址对于日志窗口来说太长了所以它会被推到下一行。
我编辑了没有空格的XML
<track_title>Sleeping and selling</track_title><consultant_pic>http://localhost:8888/IMAGES/ted.jpg></consultant_pic>
而不是:
<track_title>Sleeping and selling</track_title>
<consultant_pic>http://localhost:8888/IMAGES/ted.jpg</consultant_pic>