Нераспознанный селектор отправлен на экземпляр 0x7f90f1f04180
Я новичок, чтобы быстро. Я использую XCode версии 8 бета 4. У меня появляется ошибка, когда я прокручиваю свой Date Picker. Я прочитал очень похожую проблему, но ответ там не решает мою проблему. Ниже мой код:
func textFieldDidBeginEditing(_ textField: UITextField) {
let datePicker = UIDatePicker()
textField.inputView = datePicker
datePicker.addTarget(self, action: Selector("datePickerChanged:"), for: .valueChanged)
}
func datePickerChanged(sender: UIDatePicker){
let formatter = DateFormatter()
formatter.dateStyle = .long
dateLog.text = formatter.string(from: sender.date)
}
когда я нажимаю на мое текстовое поле UIDatePicker
показывает просто отлично, но когда я начинаю прокручивать даты, это дает мне следующую ошибку:
*** Завершение работы приложения из-за необработанного исключения "NSInvalidArgumentException", причина: '-[MyApp.ViewController datePickerChanged:]: нераспознанный селектор, отправленный экземпляру 0x7f90f1f04180'
2 ответа
Selector(String)
устарела. Вы должны начать использовать новый синтаксис #selector
,
Также двоеточие в конце не нужно.
Итак, ваш код должен выглядеть так:
datePicker.addTarget(self, action: #selector(datePickerChanged),
for: .valueChanged)
- изменить
Selector
в#selector
- менять
for
вforControlEvents
менять
.valueChanged
в.ValueChanged
datePicker.addTarget(self, action: #selector(yourClass.datePickerChanged), forControlEvents: .ValueChanged)