【问题标题】:Show Image from URL in detailView after selection in tableView在 tableView 中选择后在 detailView 中显示来自 URL 的图像
【发布时间】:2015-11-08 15:21:55
【问题描述】:

我有一个 tableView,它显示从 XML 文件解析的交通摄像头列表。当我选择一个单元格时,它会通过 prepareForSegue 方法发送 ImageURL、Roadname、坐标等。

在我的 detailviewcontroller 中,我将传入的值声明如下:

var selectedFeedURL = String()
var selectedFeedRoadname = String()
var selectedFeedLongitude = String()
var selectedFeedLatitude = String()

我可以将所有值打印到日志中或将其设置为标签。当我尝试加载 selectedFeedURL(这是图像的 URL,即:http://webkamera.vegvesen.no/kamera?id=559847)并将其设置为我的 imageView 时,会出现问题。

在我的 viewDidLoad 中,我有以下代码,它应该下载图像并将其设置为名为 cameraImageView 的 imageView。

if let url = NSURL(string:"\(selectedFeedURL)") {
    if let data = NSData(contentsOfURL: url){
        print("Suksess")
        cameraImageView.image = UIImage(data: data)
    }   
}

我的 imageView 保持为空,并且在调试区域中我没有收到任何错误或抱怨。如果我打印出 selectedFeedURL,链接就在那里。

奇怪的是,如果我改变了

NSURL(string:"\(selectedFeedURL)")

NSURL(string:"http://webkamera.vegvesen.no/kamera?id=559847")

基本上将变量更改为相机 URL,它可以完美运行。

Soo...对可能出现的问题有什么建议吗?

非常感谢:)

【问题讨论】:

  • 这不是你的问题,但没有必要对 String 进行字符串插值。 NSURL(string: selectedFeedURL) 应该足够了。
  • 打印 selectedFeedURL 的值。里面会不会有不可打印的字符?
  • 即使您的 URL 字符串之前或之后的空格也可能会破坏这一点。执行print("***\(selectedFeedURL)***") 并查看变量中的 URL 前后是否有空格。
  • @vacawama 好的,这是直接从调试区域复制出来的:***webkamera.vegvesen.no/kamera?id=113094 *** 它创建了一个换行符和很多空格,很奇怪。 Mkay,换行符没有出现在评论部分,也没有所有的空格。 (一共5个空格)
  • 试试我的答案。它修剪空白并添加所需的"http://"

标签: swift uitableview uiimageview segue detailview


【解决方案1】:

如果您的 URL 字符串的开头和结尾有空格和换行符,它将不起作用。

试试:

selectedFeedURL = selectedFeedURL.stringByTrimmingCharactersInSet(.whitespaceAndNewlineCharacterSet())

if let url = NSURL(string: selectedFeedURL) {
    if let data = NSData(contentsOfURL: url){
        print("Suksess")
        cameraImageView.image = UIImage(data: data)
    }
}

【讨论】:

  • 成功!虽然,我必须删除“http://”代码才能使其工作,但它创建了一个双 http 标签:) 再次感谢 ^_^
  • 不客气。我会更新我的答案以反映您的评论。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-20
  • 2018-12-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多