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

时间:2015-02-14 12:54:09

标签: ios swift

我想获取当前在UIImageView上显示的图像文件名。我试着按照以下方式得到它:

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

但它打印出来:

Optional("<UIImage: 0x7fa61944c3d0>")

2 个答案:

答案 0 :(得分:14)

你不能这样做。无论是快速还是客观 - c。

要做的是存储要检索的数据。那就是......将名称存储在某处并使用它来加载图像。不是相反。

因此,创建类似imageName的属性,然后使用它来加载图像。

答案 1 :(得分:5)

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

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

可能有更好的方法,但这有点紧张。

我将图片名称作为修复ID。

这是我为图像指定文件的地方..

enter image description here

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

(注意:这不是用于它的目的,因为它实际上是用于自定义状态引用,但如果这与您的视图的目的无关,那么它应该可以正常工作。)

enter image description here

选择按钮时在代码中引用。

//Connected to several onboarding buttons.
@IBAction func onBoardingButton(sender: UIButton) {

    println(sender.restorationIdentifier)



}

打印出RID。

enter image description here

您还可以标记图像并通过标记保留对这些图像的引用。

enter image description here

参考也很简单。

@IBAction func onBoardingButton(sender: UIButton) {

    println(sender.restorationIdentifier!)
    println(sender.tag)


}

虽然我们似乎无法辨别出用于填充图像视图的文件(我所知道的并且基于我自己的一点看法)附加了对视图的硬引用(图像,按钮等等)允许我建立连接代码,并找出正在使用的图像(或我的情况下按钮)。