我需要检查加载到 UIImage
对象文件中的文件是否等于另一个图像,如果是,则执行一些操作。不幸的是,它不起作用。
emptyImage = UIImage(named: imageName)
if(image1.image != emptyImage) {
// do something
} else {
// do something
}
以上代码总是进入if
分支。
最佳答案
您可以在 UIImage
上实现相等运算符,这将简化您在比较图像时的逻辑:
func ==(lhs: UIImage, rhs: UIImage) -> Bool {
lhs === rhs || lhs.pngData() == rhs.pngData()
}
运算符比较 PNG 表示,如果参数指向相同的 UIImage
实例,则使用快捷方式
这还会在 UIImage
上启用 !=
运算符。
请注意,.pngData
调用和字节到字节的比较可能是一项耗时的操作,因此在尝试比较大图像时要小心。
关于swift - UIImage 等于,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34752570/