2016-08-24 122 views
-1

我有以下问题:如何从url加载UIImage?

fatal error: unexpectedly found nil while unwrapping an Optional value

@IBOutlet weak var DetailImageView1: UIImageView! 
@IBOutlet weak var DetailLabel: UILabel! 

@IBOutlet weak var DetailLabel2: UILabel! 

var SentData1: String! 
var SentData2: String! 
var SentData3: NSURL! 

override func viewDidLoad() { 
    super.viewDidLoad() 



    DetailLabel.text = SentData1 
    DetailLabel2.text = SentData2 
    let url = NSURL(string: "\(SentData3)") 
    let data = NSData(contentsOfURL: url!) 
    DetailImageView1.image = UIImage(data: data!) 

我从一个url拍摄照片和Segue公司从我以前的视图控制器的URL链接到这一个。然后我创建了SentData3:NSURL! 现在我必须在DetailImageView1.image中显示图片,但是当我尝试测试该应用程序时,出现错误。

如果有人能向我显示错误,我会很高兴。

+1

停止使用碰撞运算符('!') – nhgrif

+0

哪条线路崩溃?什么是'SentData1','SentData2'和'SentData3'被初始化为? – nhgrif

+0

尝试声明'SentData3'是可选的,如下所示:'var SentData3:NSURL?' – pkc456

回答

0

如果SentData3已经是一个URL,您可以直接插入它。不确定是否返回nil时,不要强制展开变量。

if let imageData: NSData = NSData(contentsOfURL: SentData3) { 
    DetailImageView1.image = UIImage(data: imageData) 
} 
+0

仍然是相同的错误 – Ben

+0

你的SentData3中有什么值?它是一个https url或http url吗? –

+0

您是否想知道您还有什么错误? –