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