UITextField在代码更改时触发UITextFieldTextDidChangeNotification?

时间:2012-10-20 03:32:11

标签: iphone objective-c ios cocoa-touch ipad

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

这是预期的方式吗?

谢谢!

1 个答案:

答案 0 :(得分:6)

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

以下是您不希望在自己的代码触发事件时发送通知的原因示例。想象一下,当您的代码获得通知时,您验证文本并根据验证更新文本字段。这可能会导致无限循环的通知/更改。