UIViewController
과는 별도로 UITextFieldDelegate
클래스를 구현하고 싶지만 런타임에 EXC_BAD_ACCESS
예외가 발생합니다.별도의 클래스에서 UITextFieldDelegate 구현
는 왜이 작업을 수행합니다
class MyViewController : UIViewController, UITextFieldDelegate
{
...
func createUI()
{
let someTextField: UITextField = UITextField()
someTextField.delegate = self
...
}
func textFieldShouldReturn(textField: UITextField!) -> Bool
{
textField.resignFirstResponder()
return true;
}
}
을하지만이되지 않습니다 :
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;
}
}
새로 만든 대리인을 "강력한"클래스 변수에 넣어보십시오. 델리게이트 필드의 "assign"속성으로 인해 생성 된 직후 할당 해제가 발생할 수 있습니다. –