Swift 3 | Xcode 8 datePicker-update UItextField

Dieser code ermöglicht es Ihnen, aktualisieren textField mit datePicker für Xcode 7, aber wenn ich versuche es zu implementieren, in Xcode 8 und Swift 3, die app stürzt ab und wirft ein SIGABRT Fehler in der AppDelegate.swift-Datei. Ich habe check all my @IBs und ich habe keine sonstige verbindungen, die gelöscht werden müssen. Jede Beratung würde sehr geschätzt werden.

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) -> Bool {
        eventStartText.resignFirstResponder()
        return true
    }

    //MARK: Helper Methods
    func closekeyboard() {
        self.view.endEditing(true)
    }

    //MARK: Touch Events
    override func touchesBegan(_ touches: Set<UITouch>, 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.
     }
     */
}
  • Siehe raywenderlich.com/10209/my-app-crashed-now-what-part-1 um zu erfahren, wie das Debuggen eines Absturzes. Wenn Sie Hilfe benötigen, aktualisieren Sie Ihre Frage mit mehr relevanten details über den Absturz (vollständige Fehlermeldung und zeigen Sie auf die Zeile, die tatsächlich bewirkt, dass die crash).
Schreibe einen Kommentar