Macos 如何连接OSX字典

Macos 如何连接OSX字典,macos,cocoa,dictionary,Macos,Cocoa,Dictionary,在osx lion上,您可以控制-command-d或三次点击鼠标在任何应用程序中指向的单词来启动popover字典。我想制作一个应用程序来跟踪用户在字典中查找的单词 我如何观察用户执行control-command-d或三次点击以启动popover字典的事件 我知道这方面的特定API是。您可以使用popoverDidShow: - (void)awakeFromNib { NSNotificationCenter* notificationCenter = [NSNotificatio

在osx lion上,您可以控制-command-d或三次点击鼠标在任何应用程序中指向的单词来启动popover字典。我想制作一个应用程序来跟踪用户在字典中查找的单词

我如何观察用户执行control-command-d或三次点击以启动popover字典的事件


我知道这方面的特定API是。

您可以使用popoverDidShow:

- (void)awakeFromNib {
    NSNotificationCenter* notificationCenter = [NSNotificationCenter defaultCenter];
    [notificationCenter addObserver:self selector:@selector(popoverDidShow:)
                            name:NSPopoverDidShowNotification object:nil];
}

// dictionary is shown or another NSPopover
- (void)popoverDidShow:(NSNotification*)notify { 
    //your code
} 

好主意。但是你怎么知道那件府绸是不是从HidictionaryIndowshow来的呢?我的意思是,它可能只是整个系统中其他任何地方的另一个popover。使用name方法可以了解您在收到通知时所处理的通知类型,
[notify name]
。使用NSDictionary
[notify userInfo]
中的信息。使用与通知关联的对象
[notify object]
了解
说明、attributeKeys
或其他方法