Desidero implementare UITextFieldDelegate
in una classe separata da UIViewController
ma quando lo faccio ottengo un'eccezione EXC_BAD_ACCESS
in fase di esecuzione.Implementazione di UITextFieldDelegate in una classe separata
Allora perché questo lavoro:
class MyViewController : UIViewController, UITextFieldDelegate
{
...
func createUI()
{
let someTextField: UITextField = UITextField()
someTextField.delegate = self
...
}
func textFieldShouldReturn(textField: UITextField!) -> Bool
{
textField.resignFirstResponder()
return true;
}
}
ma questo non significa:
class MyViewController : UIViewController
{
...
func createUI()
{
let someTextField: UITextField = UITextField()
someTextField.delegate = MyTextFieldDelegate()
...
}
}
class MyTextFieldDelegate : NSObject, UITextFieldDelegate
{
func textFieldShouldReturn(textField: UITextField!) -> Bool
{
textField.resignFirstResponder()
return true;
}
}
Provare a mettere il delegato appena creato in una variabile di classe "forte". È possibile che la proprietà "assign" del campo delegato stia provocando l'deallocazione subito dopo la sua creazione. –