title: how to init() a swift view controller properly?
body: <p>I'm attempting to initialize this ViewController class. I am not using the MVC design strategy so ignore the bad conventions used (if any). </p>
  
  <p>How do I initialize this class properly?</p>
  
  <p>Error: 'required' initializer 'init(coder:)' must be provided by subclass of 'UIViewController'</p>
  
  <p>Context: This is a calculator app that when any of the buttons are pressed. It will go find the senders title and simply put if one of the three vars are nil, it will store it in that optional.</p>
  
  <pre><code>import UIKit
  
  class ViewController: UIViewController {
  
      override func viewDidLoad() {
          super.viewDidLoad()
          // Do any additional setup after loading the view.
      }
  
      @IBOutlet weak var answerLabel: UILabel!
      //global vars for all funcs
      var selection1: Int? {
          didSet { answerLabel.text = String(selection1!) }
      }
      var selection2: String? {
          didSet { answerLabel.text = selection2! }
      }
      var selection3: Int? {
          didSet { answerLabel.text = String(selection3!) }
      }
  
      var answer: Int {
          didSet { answerLabel.text = String(answer) }
      }
  
  
      init() {
  
  
      }
  
  
  
      @IBAction func touchButton(_ sender: UIButton) {
          if selection1 == nil {
              selection1 = Int(sender.currentTitle!)
              print("Selection set in first pos.")
          } else if selection2 == nil {
              selection2 = sender.currentTitle
          } else if selection3 == nil {
              selection3 = Int(sender.currentTitle!)
          } else {
              calculate(firstNum: selection1!, operation: selection2!, secondNum: selection3!)
          }
      }
  
      func calculate(firstNum: Int, operation: String, secondNum: Int) {
          switch operation {
          case "+":
              answer = firstNum + secondNum
          case "-":
              answer = firstNum - secondNum
          case "x":
              answer = firstNum * secondNum
          case "/":
              answer = firstNum / secondNum
          default:
              answerLabel.text = "Something went wrong!"
          }
      }
  
  
  }
  </code></pre>