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).
Du musst angemeldet sein, um einen Kommentar abzugeben.
Das Problem mit der
selector
syntax von Swift 3 müssen Sie den ersten parameter-Namen imselector
, so ändern Sie Ihreselector
syntax wie diese.