我想获取当前在UIImageView上显示的图像文件名。我试着按照以下方式得到它:
let currentImage = alien.image // !alien is my image view
println(currentImage?.description)
但它打印出来:
Optional("<UIImage: 0x7fa61944c3d0>")
答案 0 :(得分:14)
你不能这样做。无论是快速还是客观 - c。
要做的是存储要检索的数据。那就是......将名称存储在某处并使用它来加载图像。不是相反。
因此,创建类似imageName
的属性,然后使用它来加载图像。
答案 1 :(得分:5)
作为一种解决方法,对于我稍后需要引用的图像,我使用恢复ID来存储图像名称。
我以这种方式使用了恢复ID,这样我就可以将多个按钮连接到同一个@IBAction,并根据存储在恢复ID中的图像名称识别它们,并运行逻辑关于我想要显示或隐藏的内容。
可能有更好的方法,但这有点紧张。
我将图片名称作为修复ID。
这是我为图像指定文件的地方..
我只是将其复制并将其作为恢复ID。
(注意:这不是用于它的目的,因为它实际上是用于自定义状态引用,但如果这与您的视图的目的无关,那么它应该可以正常工作。)
选择按钮时在代码中引用。
//Connected to several onboarding buttons.
@IBAction func onBoardingButton(sender: UIButton) {
println(sender.restorationIdentifier)
}
打印出RID。
您还可以标记图像并通过标记保留对这些图像的引用。
参考也很简单。
@IBAction func onBoardingButton(sender: UIButton) {
println(sender.restorationIdentifier!)
println(sender.tag)
}
虽然我们似乎无法辨别出用于填充图像视图的文件(我所知道的并且基于我自己的一点看法)附加了对视图的硬引用(图像,按钮等等)允许我建立连接代码,并找出正在使用的图像(或我的情况下按钮)。