Swift可重用的UITextFieldDelegate

我想实现一个可重用的UITextFieldDelegate类,如下所示:

 class CustomTextFieldDelegate : NSObject, UITextFieldDelegate 

所有委托协议方法都正确实施。

controller ,我将delegate分配给UITextField

 textField.delegate = CustomTextFieldDelegate() 

问题是没有任何委托函数被调用。 但是,当我从控制器实施委托协议,然后事情工作正常

 class CustomTableViewController: UITableViewController, UITextFieldDelegate 

任何想法是怎么回事?

如果你想通过项目重用CustomTextFieldDelegate,你应该使用一个Singleton实例;

 textField.delegate = CustomTextFieldDelegate.sharedInstance 

和class级变化

 class CustomTextFieldDelegate : NSObject, UITextFieldDelegate { static let sharedInstance:CustomTextFieldDelegate = CustomTextFieldDelegate(); func textFieldDidBeginEditing(textField: UITextField) { NSLog("textFieldDidBeginEditing ..."); } //... other methods } //FE