使用NSNotification委派NSTextField的方法

hek*_*ran 3 macos cocoa delegates objective-c

我在一个窗口中有一个NSTokenField.我用它来存储与Core Data对象相关的标签.现在我设置它,以便我可以添加标签到对象,但我不能删除它们.我需要在NSTokenField上使用委托方法,该方法可以让我知道用户何时将焦点移出NSTokenField.由于NSTokenField是NSTextField的子类,我想我可以使用它的委托方法.它有两个我觉得有用的东西:

- (void)textDidChange:(NSNotification *)aNotification
- (void)textDidEndEditing:(NSNotification *)aNotification
Run Code Online (Sandbox Code Playgroud)

我将我的控制器类设置为我的NSTokenField的委托,并将这两个方法放入我的控制器类中.我将基本的NSLog放入其中,当我与NSTokenField交互时,都没有触发.我猜它与NSNotification有关.如何激活这些方法?

Ale*_*ski 8

NSTokenField调用controlTextDidChange:controlTextDidEndEditing:通知; 改变上面的两种方法,将它们实现为:

- (void)controlTextDidChange:(NSNotification*)aNotification
{
    //Code here..
}

- (void)controlTextDidEndEditing:(NSNotification *)aNotification
{
    //Code here..
}
Run Code Online (Sandbox Code Playgroud)