When I click run app, the app doesn't place images when I click on the designated buttons. (I am relatively new to Swift and Xcode so bear with me)
I am going to remove the UIImageViews and use buttons instead. I'll let you know if I need more help. Thank you.
class ViewController: UIViewController {
@IBOutlet var TicTacImg1: UIImageView!
@IBOutlet var TicTacImg2: UIImageView!
@IBOutlet var TicTacImg3: UIImageView!
@IBOutlet var TicTacImg4: UIImageView!
@IBOutlet var TicTacImg5: UIImageView!
@IBOutlet var TicTacImg6: UIImageView!
@IBOutlet var TicTacImg7: UIImageView!
@IBOutlet var TicTacImg8: UIImageView!
@IBOutlet var TicTacImg9: UIImageView!
@IBOutlet var TicTacButton1: UIButton!
@IBOutlet var TicTacButton2: UIButton!
@IBOutlet var TicTacButton3: UIButton!
@IBOutlet var TicTacButton4: UIButton!
@IBOutlet var TicTacButton5: UIButton!
@IBOutlet var TicTacButton6: UIButton!
@IBOutlet var TicTacButton7: UIButton!
@IBOutlet var TicTacButton8: UIButton!
@IBOutlet var TicTacButton9: UIButton!
@IBOutlet var ResetButton: UIButton!
@IBOutlet var UserMessage: UILabel!
var plays = Dictionary <Int, Int> ()
@IBAction func UIButtonClicked(sender:UIButton) {
UserMessage.hidden = true
if plays[sender.tag] == nil && !aiDeciding && !done {
setImageForSpot(sender.tag, player:1)
}
}
func setImageForSpot (spot:Int, player:Int) {
var playerMark = player == 1 ? "x" : "o"
plays[spot] = player
switch spot {
case 1:
TicTacImg1.image = UIImage(named: playerMark)
case 2:
TicTacImg2.image = UIImage(named: playerMark)
case 3:
TicTacImg3.image = UIImage(named: playerMark)
case 4:
TicTacImg4.image = UIImage(named: playerMark)
case 5:
TicTacImg5.image = UIImage(named: playerMark)
case 6:
TicTacImg6.image = UIImage(named: playerMark)
case 7:
TicTacImg7.image = UIImage(named: playerMark)
case 8:
TicTacImg8.image = UIImage(named: playerMark)
case 9:
TicTacImg9.image = UIImage(named: playerMark)
default:
TicTacImg5.image = UIImage(named: playerMark)
}
}
Your UIButtonClicked function needs to look like this...
@IBAction func UIButtonClicked(sender:UIButton) {
ticTacLabel.hidden = true
if plays[sender.tag] == nil && !aiDeciding && !done {
setImageForSpot(sender.tag, player:1)
}
Hope this helps!