UITextFieldDelegate
'u UIViewController
'dan ayrı bir sınıfta uygulamak istiyorum ancak ne zaman çalışma zamanında bir EXC_BAD_ACCESS
istisnası alıyorum.UITextFieldDelegate uygulamasının ayrı bir sınıf içinde uygulanması
Peki neden bu işi yapar:
class MyViewController : UIViewController, UITextFieldDelegate
{
...
func createUI()
{
let someTextField: UITextField = UITextField()
someTextField.delegate = self
...
}
func textFieldShouldReturn(textField: UITextField!) -> Bool
{
textField.resignFirstResponder()
return true;
}
}
Ama bu değil:
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;
}
}
Yeni oluşturulan delegeyi "güçlü" sınıf değişkenine koymayı deneyin. Temsilci alanının "atama" özelliğinin, oluşturulduktan hemen sonra ayrılmasına neden olması mümkündür. –