【问题标题】:UIImageView and XML Parsed DataUIImageView 和 XML 解析数据
【发布时间】:2010-09-20 22:29:39
【问题描述】:

你好,比我聪明的人,

我有两个 xml 元素,一个是标题,另一个是图像的 URL。我正在尝试同时显示 UILabel 和 UIImageView。我的问题是图像没有显示。

这是我到目前为止所做的...... 如果我将 _track.consultant_pic 传递给 UILabel,我可以在标签中看到字符串 (http://mysite.com/ted.jpg)。所以我知道数据是从 XML 传递的。

如果我将 url 的实际路径写入 NSURL *url 它就可以工作。所以我知道我从 UIImage 到 UIImageView 设置的图像代码是正确的。

【问题讨论】:

  • 我们能看到视图的代码吗?特别是 view_consultant_pic

标签: iphone xml parsing uiimageview uiimage


【解决方案1】:

您的 URL 中可能有一些编码字符会阻止加载图像表单。请参阅this page 了解更多信息。 NSLog(_track.consultant_pic); 说什么?你发现那里有任何编码字符吗?

【讨论】:

【解决方案2】:

我认为最好的办法是使用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];

编辑:查看您刚刚粘贴的代码,可能只是您忘记在 Interface Builder 中将 view_consultant_pic 插座连接到您的 TracksDetailViewController。在你做任何其他事情之前仔细检查一下,这是一个常见的疏忽。

【讨论】:

  • 感谢您关注 Cassarani。我已经添加了版本。如果我在正确的地方有这个,请告诉我。在这方面仍然是菜鸟。你还能帮我写更多的代码吗?如何在 option:error 中写入?
  • 我已经编辑了我的答案,以包含dataWithContentsOfURL:options:error 的示例,以及关于可能导致问题的原因的建议。
【解决方案3】:

感谢大家的帮助,我认为我们已经赢了:

在日志中,它显示了我在下一行返回的解析元素,而不是用我的时间码刷新。我以前从未真正注意到它,因为该网址非常适合我的 UILabel。并且总是认为我的 url 对于日志窗口来说太长了,所以它被推送到下一行。

我编辑了没有空格的 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>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-07-12
    • 1970-01-01
    • 2020-06-03
    • 2013-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多