【问题标题】:Swift: UIButton.currentImage is not working comparing image nameSwift:UIButton.currentImage 无法比较图像名称
【发布时间】:2020-08-27 09:24:48
【问题描述】:

我正在尝试像这样检查 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

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

非常感谢您的帮助。

【问题讨论】:

    标签: ios swift uibutton swift5.2 xcode11.2.1


    【解决方案1】:

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

    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.
    }
    

    【讨论】:

      猜你喜欢
      • 2022-11-27
      • 2010-12-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多