我目前有一个UITableView,它包含一系列事件。每个事件都有一个按钮,用户可以按下该按钮访问与事件相关的照片的更大视图。我有UIButton连接和设置,但我很难在新窗口中设置图像。这里是我的功能:UIImageView的设置图像
func largeMap(sender: UIButton!) {
let documentsPath = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] as String
let manager = NSFileManager.defaultManager()
self.performSegueWithIdentifier("largeMapView", sender: self)
println(sender.tag.description)
println(documentsPath+"/Flight"+(sender.tag.description)+"/Map.png")
if let image = UIImage(data: manager.contentsAtPath(documentsPath+"/Flight"+(sender.tag.description)+"/Map.png")!) {
largeMapView.image = image
}
}
当我运行的应用程序,它崩溃的largeMapView.image =图像,并给了我“致命错误:意外发现零而展开的可选值”。我已经检查过,图像的路径是正确的,它正在访问图像,但它无法将其设置为UIImageView。我有UIImageView出口设置在类的顶部。这是为什么发生?我以前用这种方式设置了UIImageView,但它现在不起作用。
我按照您的建议实施安全解包。在运行应用程序时,它安全地解开图像,但仍然到达最后并在'largeMapView.image = image'上崩溃,并且说它意外地发现零,同时展开可选项,这导致我质疑我制作的插座。 – user3185748 2015-01-10 00:09:00
正确。这就是为什么_I_质疑出路。我相信你的崩溃纯粹是诊断性的;你的_real_问题是你的出口没有被设置。但那将是一个不同的问题!我相信我已经回答了你实际提出的问题,也就是为什么你首先会崩溃。 – matt 2015-01-10 00:18:03
我很感激帮助,但我必须继续努力才能解决问题。如果你有任何想法,如果很高兴听到他们! – user3185748 2015-01-10 00:22:02