iOS 比较图像

示例

该isEqual:方法是确定两个图像是否包含相同图像数据的唯一可靠方法。即使使用相同的缓存图像数据初始化它们,创建的图像对象也可能彼此不同。确定它们是否相等的唯一方法是使用isEqual:比较实际图像数据的方法。清单1展示了比较图像的正确和不正确的方法。

资料来源:Apple文档

迅速

// 加载相同的图像两次。
let image1 = UIImage(named: "MyImage")
let image2 = UIImage(named: "MyImage")

// 图像对象可能不同,但内容仍然相等
if let image1 = image1, image1.isEqual(image2) {
    //正确。此技术可以正确比较图像数据。
}

if image1 == image2 {
    //不对!直接对象比较可能不起作用。
}

目标C

// 加载相同的图像两次。
UIImage* image1 = [UIImage imageNamed:@"MyImage"];
UIImage* image2 = [UIImage imageNamed:@"MyImage"];
 
// 图像对象可能不同,但内容仍然相等
if ([image1 isEqual:image2]) {
   //正确。此技术可以正确比较图像数据。
}
 
if (image1 == image2) {
   //不对!直接对象比较可能不起作用。
}