0

我正在尝试检查 UIButton 中的图像名称,如下所示:

@IBAction func buttonTapped(_ sender: Any) {

    if xcodeButton.currentImage == UIImage(named: "xcode") {
        print("xcode image")
    }
}

但是我在语句中有一个断点if,这是输出:

po xcodeButton.currentImage
▿ Optional<UIImage>
  - some : <UIImage:0x6000011a93b0 named(main: xcode) {500, 500}>

但如果我比较它

po xcodeButton.currentImage == UIImage(named: "xcode")
false

你们中的任何人都知道为什么比较返回错误吗?或者如何比较 UIButton 中图像的名称?

我会非常感谢你的帮助。

4

1 回答 1

1

您应该使用isEqual(_:)文档滚动到比较图像部分

let image1 = UIImage(named: "MyImage")
let image2 = UIImage(named: "MyImage") 
if image1 != nil && image1!.isEqual(image2) {
   // Correct. This technique compares the image data correctly.
} 
if image1 == image2 {
   // Incorrect! Direct object comparisons may not work.
}
于 2020-05-11T18:20:43.613 回答