есть много похожих вопросов о текстовом поле textFields textfieldshouldreturn, которое не вызывается, но все они были решены путем установки делегата. Ive установил делегат, а также отлично показал пример в другом проекте, который я скопировал почти для линии. Операция печати подтверждает, что звонок не выполняется. Более любопытно, что я установил случайную переменную для проверки, если бы я даже обращался к правильному объекту, но когда я попытался получить доступ к этой переменной, он разбился с ошибкой BAD_ACCESS.Метод Swift TextField не вызывается, делегат установлен, теперь ошибки BAD_ACCESS
class TitleTextField: UITextField, UITextFieldDelegate {
var randomElement: Bool = true
func textFieldShouldReturn(textField: UITextField) -> Bool {
textField.resignFirstResponder()
print("text field return pressed")
return true
}
}
и здесь, где я использую его
class EditViewController: UIViewController {
@IBOutlet weak var titleTextField: TitleTextField!
func configureView() {
navigationItem.title = "Edit Goal"
}
override func viewDidLoad() {
super.viewDidLoad()
print("editor loaded")
configureView()
titleTextField.text = "placeholder"
titleTextField.delegate = titleTextField
titleTextField.delegate = titleTextField.self
if let textField = titleTextField {
textField.delegate = titleTextField
}
print("textfield delegate = \(titleTextField?.delegate)")
}
Если перечислены некоторые из различных способов, которыми я попытался установить делегата. Я даже совместил viewController с UITextFieldDelegate и установил делегат самостоятельно, но это тоже не имело значения. Я добавил «randomVariable» в TitleTextField, чтобы убедиться, что я обращаюсь к правильному объекту, но когда я использовал titleTextField.randomVariable = true в viewDidLoad, у меня произошел сбой BAD_ACCESS.
Ive также дважды проверил подключение к раскадровке. Я даже удалил соединение и IBoutlet и изменил их, никаких различий. очищенный проект и т. д.
Вы попробовали перезапустить Xcode? Иногда у него есть странные проблемы, и, похоже, их исправление исправляет. – Alexander