我试图添加一个UIViewController
成为UITextFieldTextDidChangeNotification
通知的观察者。当我通过在文本字段中键入来更改文本时,一切都会顺利进行。但是,如果我尝试通过调用[_textfield setText:@“Blahblah”]来更改文本,则该通知似乎没有被触发。
这是预期的方式吗?
谢谢!
最佳答案
大多数事件通常都是这样。当事件由用户驱动时,您需要通知。但是,当事件由显式代码更改驱动时,您不需要通知。由于您正在进行显式调用以进行更改,因此您还可以选择调用通知处理程序。这是一种更灵活的方法。
这是一个为什么您不希望在您自己的代码触发事件时发送通知的示例。想象一下,当您的代码收到通知时,您将验证文本,并基于验证来更新文本字段。这可能导致通知/更改无限循环。