Question: I'm making a car quiz app where the user will try to match the model with the brand(make). Both the models and brands are presented as UIImages.

```
let carModelList = ["Camaro",
                    "Mustang",
                    "Challenger"]

let carBrandList = ["Chevy",
                    "Ford",
                    "Dodge"]

```

I need to check to see if the user made a correct match. I'm doing it by comparing array indices... 

```
if carModel.image == carModelList[0] && carBrand.image == carBrandList[0] {

```

In this example there would be a correct match because the Camaro is made by Chevy.

But, I get this error...

**Binary operator '==' cannot be applied to operands of type 'UIImage?' and 'String'**

So, I tried changing the array to ...

```
var carModelList: [UIImage] = [
    UIImage(named: "Camaro")!,
    UIImage(named: "Mustang")!,
    UIImage(named: "Challenger")!
]

var carBrandList: [UIImage] = [
    UIImage(named: "Chevy")!,
    UIImage(named: "Ford")!,
    UIImage(named: "Dodge")!
]

```

But, then at my two lines of code that randomly select the images to be presented to the user ...

```
carModel.image = UIImage(named: carModelList.randomElement()!)
carBrand.image = UIImage(named: carBrandList.randomElement()!)

```

I get this error ...

**Cannot convert value of type 'UIImage' to expected argument type 'String'**

Answer: 
You're being presented with that message because indeed you're trying to pass an image, but the constructor is expecting the name of the image, which is a String.

if you wanna call it like this:

```
carModel.image = UIImage(named: carModelList.randomElement()!)
carBrand.image = UIImage(named: carBrandList.randomElement()!)

```

Your array has to look like this :

```
var carModelList: [String] = [
    "Camaro",
    "Mustang",
    "Challenger"
]

var carBrandList: [String] = [
    "Chevy",
    "Ford",
    "Dodge"
]

```

The other option is to call it like this by using your array of images:

```
carModel.image = carModelList.randomElement()!
carBrand.image = carBrandList.randomElement()!

```

Make sure to avoid force unwrapping.

Also, your String arrays and UIImage arrays have the same same, rename them if you wanna compare them.
The problem is that you use 

```
let carModelList = ["Camaro",
                "Mustang",
                "Challenger"]

 let carBrandList = ["Chevy",
                "Ford",
                "Dodge"]

```

AND

```
var carModelList: [UIImage] = [
    UIImage(named: "Camaro")!,
    UIImage(named: "Mustang")!,
    UIImage(named: "Challenger")!
]

var carBrandList: [UIImage] = [
    UIImage(named: "Chevy")!,
    UIImage(named: "Ford")!,
    UIImage(named: "Dodge")!
]

```

With same array names, that why when you do == swift can't understand which one you are using