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) { //不对!直接对象比较可能不起作用。 }