Swift 2 为带有对象参数的特定 UITextfield 添加观察者

Swift 2 addObserver for specific UITextfield with object parameter

我想在点击特定 UITextField 时调用一个函数: 据我了解,以下代码适用于来自 window:

的通知
NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("keyboardWillShow:"), name: UIKeyboardWillShowNotification, object: nil)
NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("keyboardWillHide:"), name: UIKeyboardWillHideNotification, object: nil)

但我想收到来自特定 UITextField 的特定通知。我尝试了以下代码但没有成功:

NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("keyboardWillShow:"), name: UITextFieldTextDidBeginEditingNotification, object: textField)
NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("keyboardWillHide:"), name: UITextFieldTextDidEndEditingNotification, object: textField)

我搜索了很多,在这里发现了同样的问题 (),但答案对我不起作用。

我现在已经尝试了 3 个小时....感谢任何帮助,非常感谢!

您可以查看 UITextFieldDelegate 协议 - 在那里您可以找到问题的解决方案。只需将您的 class 设置为委托,并实现协议的一种方法。您可以在文档中找到它们(例如 textFieldShouldBeginEditing)。 如有问题,欢迎提问。