0

I'm trying to get the String value from a UIImageView's UIImage when touchesBegan.

here is the entire viewcontroller code.

import UIKit

class ViewController: UIViewController {

    //MARK: Outlets
    @IBOutlet weak var imageOne: UIImageView!
    @IBOutlet weak var imageTwo: UIImageView!

    @IBOutlet weak var myText: UILabel!

    let imagesArray = ["banaan", "auto", "kip", "boom" ]

    var questionArray: [String] = []

    var touchArray: [CGPoint] = []

    var itemOne: Int!
    var itemTwo: Int!


    override func viewDidLoad() {
        super.viewDidLoad()
        setupQuestions()
        setupImages()
    }

    //MARK: Randomizing The Lable Question
    fileprivate func setupQuestions() {
        let firstRandomizer = arc4random_uniform(UInt32(imagesArray.count))
        let secondRandomizer = arc4random_uniform(UInt32(imagesArray.count))
        itemOne = Int(firstRandomizer)
        itemTwo = Int(secondRandomizer)

        if itemOne == itemTwo && itemTwo != 0 {
            itemTwo -= 1
        } else if itemOne == itemTwo && itemTwo == 0 {
            itemTwo += 1
        }


        myText.text = """
        selecteer de \(imagesArray[itemOne].capitalized)
        voor dat je de \(imagesArray[itemTwo].capitalized) selecteert
        """
    }

    //Mark: setup images and randomizeing
    fileprivate func setupImages() {
        imageOne.image = UIImage(named: imagesArray[itemOne])
        imageTwo.image = UIImage(named: imagesArray[itemTwo])
    }


    //MARK: Button Randomizer
    @IBAction func nextBtnWasPressed(_ sender: Any) {
        setupQuestions()
        setupImages()
    }

    override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
        //Get image stringvalue to compare it with the question array
    }

}
Joseph
  • 89
  • 9

1 Answers1

0

You can try

self.myImageView.image = UIImage(myImageArray[0])
self.myImageView.tag = 0

then inside touches

myImageArray[self.myImageView.tag]

you can also declare a var for a good pattern following


override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
   print("itemOne name \(myImageArray[itemOne]) , itemTwo name \(myImageArray[itemTwo])")
}
Shehata Gamal
  • 98,760
  • 8
  • 65
  • 87