Welcome toVigges Developer Community-Open, Learning,Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
1.1k views
in Technique[技术] by (71.8m points)

swift - UIImage is equal to

I need to check if a file loaded into an UIImage object file is equal to another image and execute some actions if so. Unfortunately, it's not working.

emptyImage = UIImage(named: imageName)

if(image1.image != emptyImage) {
    // do something
} else {
    // do something
}

The above code always enters the if branch.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

You cannot compare two UIImage objects using the != or == operators, one option is comparing as NSData using the UIImagePNGRepresentation to convert it to NSData objects, like in the following code:

func areEqualImages(img1: UIImage, img2: UIImage) -> Bool {

   guard let data1 = UIImagePNGRepresentation(img1) else { return false }
   guard let data2 = UIImagePNGRepresentation(img2) else { return false }

   return data1.isEqualToData(data2)
}

I hope this help you.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to Vigges Developer Community for programmer and developer-Open, Learning and Share
...