UITextField在代码更改时触发UITextFieldTextDidChangeNotification?

Jia*_* Li 2 iphone cocoa-touch objective-c ipad ios

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

这是预期的方式吗?

谢谢!

rma*_*ddy 6

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

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