2

我正在尝试添加一个作为通知UIViewController的观察者。UITextFieldTextDidChangeNotification当我通过在文本字段中键入来更改文本时,一切都很顺利。但是,如果我尝试通过调用 [_textfield setText:@"Blahblah"] 更改文本,通知似乎不会被触发。

这是预期的方式吗?

谢谢!

4

1 回答 1

6

这通常适用于大多数事件。当事件由用户驱动时,您需要通知。但是,当事件由显式代码更改驱动时,您不需要通知。由于您正在进行显式调用以进行更改,因此您还可以选择调用通知处理程序。这是一种更灵活的方法。

这是一个示例,说明为什么您不希望在您自己的代码触发事件时发送通知。想象一下,当您的代码收到通知时,您验证文本并根据验证更新文本字段。这可能导致通知/更改的无限循环。

于 2012-10-20T03:35:45.283 回答