UIImageView图像名称比较问题

swa*_*amy 4 iphone objective-c uiimageview ios

最近我发现了一个关于UIImageView图像的问题.

我的目的是找到UIImageView是否包含图像(image.png).

if([[self.ImgView.image isEqual:[UIImage imageNamed:@"image.png"]])
{
   NSLog(@"Image View contains image.png");//In normal run....
}else
{
  NSLog(@"Image View doesn't contains image.png");//Once came back from background
}
Run Code Online (Sandbox Code Playgroud)

在正常运行中,上面的代码工作正常.

但是当应用程序在发送到后台后进入活动状态时,它无法工作.

iPa*_*tel 9

一般UIImageView不能存储图像的文件名但只存储它UIImage,因此无法获取您添加的图像的文件名UIImageView.

多数民众赞成如果您只想比较图像文件名,那么就无法比较它.

但是如果你想比较两个UIImage对象那么

UIImage *secondImage = [UIImage imageNamed:@"image.png"];

NSData *imgData1 = UIImagePNGRepresentation(self.imageView.image);
NSData *imgData2 = UIImagePNGRepresentation(secondImage);

BOOL isCompare =  [imgData1 isEqual:imgData2];
if(isCompare)
{
  NSLog(@"Image View contains image.png");
}
else
{
  NSLog(@"Image View doesn't contains image.png");
}
Run Code Online (Sandbox Code Playgroud)