swift,如何从UIImageView获取当前显示的图像文件名称

我想获取当前在UIImageView中显示的图像文件名称。 我试图得到它如下:

let currentImage = alien.image // !alien is my image view println(currentImage?.description) 

但它打印:

 Optional("<UIImage: 0x7fa61944c3d0>") 

你不能这样做。 既不迅速也不客观。

要做的是存储你想要检索的数据。 那就是…将名称存储在某个地方并使用它来加载图像。 而不是相反。

所以创build一个类似imageName的属性,然后使用它来加载图像。

作为解决方法,对于稍后需要引用的图像,我使用恢复ID来存储图像名称。

我以这种方式使用了恢复ID,这样我就可以将多个button连接到相同的@IBAction,并根据存储在恢复ID中的图像名称来识别它们,并运行关于我要显示或隐藏的逻辑。

有可能有更好的方法,但这在一个捏。

我把图像名称作为恢复ID。

这里是我指定的图像文件的位置..

在这里输入图像说明

而我只是复制它,并将其作为恢复ID。

(注意:这不是用来做什么的,因为它实际上是用来定制状态引用的,但是如果这与你的视图目的不相关,那么它应该可以正常工作。)

在这里输入图像说明

在selectbutton时引用代码。

 //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) } 

虽然我们似乎没有看出用什么文件来填充图像视图(我知道并基于自己的一点点看),附加硬引用视图(图像,button等),使我使连接代码一边,并找出哪个图像(或在我的情况下button)正在使用。