在 tableView 中选择后在 detailView 中显示来自 URL 的图像

Show Image from URL in detailView after selection in tableView

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

在我的 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,link 就在那里。

奇怪的是,如果我改变

NSURL(string:"\(selectedFeedURL)")

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

基本上将变量更改为相机 URL,效果很好。

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

非常感谢:)

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

尝试:

selectedFeedURL = selectedFeedURL.stringByTrimmingCharactersInSet(.whitespaceAndNewlineCharacterSet())

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