title: Swift 3 | Xcode 8 datePicker update UItextField
body: <p>This code allows you to update a <code>textField</code> using <code>datePicker</code> for Xcode 7 but when I try to implement it in Xcode 8 and Swift 3, the app crashes and throws a SIGABRT error in the AppDelegate.swift file. I've check all of my @IBs and I don't have any miscellaneous connections that need to be deleted. Any guidance would be greatly appreciated. </p>
  
  <pre><code>import UIKit
  
  class ViewController: UIViewController, UITextFieldDelegate {
      @IBOutlet var eventStartText: UITextField!
  
      override func viewDidLoad() {
          super.viewDidLoad()
  
          eventStartText.delegate = self
  
          // Do any additional setup after loading the view.
      }
  
      override func didReceiveMemoryWarning() {
          super.didReceiveMemoryWarning()
          // Dispose of any resources that can be recreated.
      }
  
      // MARK: TextField Delegate
      func datePickerChanged(sender: UIDatePicker) {
          let formatter = DateFormatter()
          formatter.dateStyle = .full
          eventStartText.text = formatter.string(from: sender.date)
  
          print("Try this at home")
      }
  
      func textFieldDidBeginEditing(_ textField: UITextField) {
          let datePicker = UIDatePicker()
          textField.inputView = datePicker
          datePicker.addTarget(self, action: (Selector(("datePickerChanged:"))), for: .valueChanged)
  
          print("This Worked")
      }
  
      func textFieldShouldReturn(_ textField: UITextField) -&gt; Bool {
          eventStartText.resignFirstResponder()
          return true
      }
  
      // MARK: Helper Methods
      func closekeyboard() {
          self.view.endEditing(true)
      }
  
      // MARK: Touch Events
      override func touchesBegan(_ touches: Set&lt;UITouch&gt;, with event: UIEvent?) {
          closekeyboard()
      }
  
      /*
       // MARK: - Navigation
  
       // In a storyboard-based application, you will often want to do a little preparation before navigation
       override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
       // Get the new view controller using segue.destinationViewController.
       // Pass the selected object to the new view controller.
       }
       */
  }
  </code></pre>