textDidChange vs controlTextDidChange

use*_*802 6 objective-c

有人可以解释为什么textDidChange没有处理我的委托,但controlTextDidChange在NSTextField中工作.

 - (void)controlTextDidChange:(NSNotification *)aNotification{
    NSBeep();
}
Run Code Online (Sandbox Code Playgroud)

 - (void)textDidChange:(NSNotification *)aNotification{
    NSBeep();
}
Run Code Online (Sandbox Code Playgroud)

Bry*_*yan 5

controlTextDidChange:NSTextField(继承自NSControl)定义的正确委托方法.

textDidChange:是一种方法,在调用时NSTextField,使其行为就像文本更改一样(包括调用上面的方法).它不是您实施的委托方法.

它与Apple有点不一致,因为它们textDidChange:UISearchBarDelegate上有一个委托方法.