title: Error in Swift: property 'self.circle1' not initialized at super.init call?
body: <p>I am new to programming and am trying to write a tic-tac-toe app in Swift, and this error is preventing me from running the app: property 'self.circle1' not initialized at super.init call.</p>
  
  <p>The app is not finished yet but I don't see where the error is in the existing code. Please explain any suggestions thoroughly as once again I am a BEGINNER. Thanks! 
  My code:</p>
  
  <pre><code>import UIKit
  
  class ViewController: UIViewController {
  
      //Initializing all imgs as variables:
  
      @IBOutlet strong var circle1: UIImageView
      @IBOutlet strong var circle2: UIImageView
      @IBOutlet strong var circle3: UIImageView
      @IBOutlet strong var circle4: UIImageView
      @IBOutlet strong var circle5: UIImageView
      @IBOutlet strong var circle6: UIImageView
      @IBOutlet strong var circle7: UIImageView
      @IBOutlet strong var circle8: UIImageView
      @IBOutlet strong var circle9: UIImageView
  
      @IBOutlet strong var circleBtn1: UIButton
      @IBOutlet strong var circleBtn2: UIButton
      @IBOutlet strong var circleBtn3: UIButton
      @IBOutlet strong var circleBtn4: UIButton
      @IBOutlet strong var circleBtn5: UIButton
      @IBOutlet strong var circleBtn6: UIButton
      @IBOutlet strong var circleBtn7: UIButton
      @IBOutlet strong var circleBtn8: UIButton
      @IBOutlet strong var circleBtn9: UIButton
  
      @IBOutlet strong var resetBtn: UIButton
      @IBOutlet strong var ResultsLabel: UILabel
  
      //Creating variables:
  
      var plays = Dictionary&lt;Int,Int&gt;()
      var done = false
      var aiDeciding = false
  
      //Function that says what to do if a UIButton is clicked:
  
      @IBAction func UIbuttonClicked(sender:UIButton) {
          ResultsLabel.hidden = true
          if !plays[sender.tag] &amp;&amp; !aiDeciding &amp;&amp; !done {
          setImgforCircle(sender.tag, player:1)
  
          }
  
      //Executing these functions:
  
          checkforWin()
          aiTurn()
  
      }
  
      //Function that sets an X or O in the proper circle depending on player:
  
      func setImgforCircle(spot:Int, player:Int) {
          var playerMark = player == 1 ? "x" : "o"
          plays[spot] = player
          switch spot {
          case 1:
              circle1.image = UIImage(named: playerMark)
          case 2:
              circle2.image = UIImage(named: playerMark)
          case 3:
              circle3.image = UIImage(named: playerMark)
          case 4:
              circle4.image = UIImage(named: playerMark)
          case 5:
              circle5.image = UIImage(named: playerMark)
          case 6:
              circle6.image = UIImage(named: playerMark)
          case 7:
              circle7.image = UIImage(named: playerMark)
          case 8:
              circle8.image = UIImage(named: playerMark)
          case 9:
              circle9.image = UIImage(named: playerMark)
  
          default:
              circle2.image = UIImage(named: playerMark)
          }
  
      }
  
      //Function that sees if certain paths of circles have the same mark
  
      func checkforWin() {
      var whoWon = ["Lost":0, "Won":1]
          for (key,value) in whoWon {
              if ((plays[1] == value &amp;&amp; plays[2] == value &amp;&amp; plays[3] == value) || //across top row
              (plays[4] == value &amp;&amp; plays[5] == value &amp;&amp; plays[6] == value) || //across middle row
              (plays[7] == value &amp;&amp; plays[8] == value &amp;&amp; plays[9] == value) || //across bottom row
              (plays[1] == value &amp;&amp; plays[4] == value &amp;&amp; plays[7] == value) || //down left column
              (plays[2] == value &amp;&amp; plays[5] == value &amp;&amp; plays[8] == value) || //down middle column
              (plays[3] == value &amp;&amp; plays[6] == value &amp;&amp; plays[9] == value) || //down right column
              (plays[1] == value &amp;&amp; plays[5] == value &amp;&amp; plays[9] == value) || //diagonal going right
              (plays[7] == value &amp;&amp; plays[5] == value &amp;&amp; plays[3] == value)) { //diagonal going left
  
                  ResultsLabel.hidden = false
                  ResultsLabel.text = "You \(key)!"
              }
  
          }
  
      }
      func aiTurn() {
  
      }
  
  
      override func viewDidLoad() {
          super.viewDidLoad()
          // Do any additional setup after loading the view, typically from a nib.
      }
  
      override func didReceiveMemoryWarning() {
          super.didReceiveMemoryWarning()
          // Dispose of any resources that can be recreated.
      }
  
  
  }
  </code></pre>