如何使用NSPasteboard在应用程序之间传输数据(使用上下文菜单)

时间:2011-11-13 13:04:03

标签: menu contextmenu nspasteboard pasteboard core-services

  

“NSPasteboard对象与粘贴板服务器之间传输数据。服务器由所有正在运行的应用程序共享。它包含用户已剪切或复制的数据,以及一个应用程序要传输到的其他数据另一个。NSPasteboard对象是应用程序与服务器和所有粘贴板操作的唯一接口。

     

NSPasteboard对象还用于在每个应用程序的“服务”菜单中列出的应用程序和服务提供商之间传输数据。拖动粘贴板(NSDragPboard)用于传输用户拖动的数据。“

我在Apple的NSPasteboard文档中找到了这个。到目前为止,我只知道如何使用粘贴板进行简单的复制粘贴。我想知道的是,非复制粘贴用途的数据如何通过粘贴板服务器在应用程序之间使用上下文菜单而不是拖放来传输。例如,如果用户右键单击某个单词并单击上下文菜单中的“在字典中查找”,则该单词(可能)通过粘贴板发送到“词典”应用程序。

有人可以展示一个概念验证应用程序,展示如何访问粘贴板服务器中的数据,该服务器存储用户使用过的单词“在字典中查找”吗?

1 个答案:

答案 0 :(得分:0)

我们没有必要找到“在字典中查找”粘贴板。 (如果有的话)。但是如果你想在你的应用程序中通过粘贴板传输数据,那么有一种NSPasteboard类方法可供我使用。

+ (NSPasteboard *)pasteboardWithName:(NSString *)name

只需对两个应用使用相同的名称,您就可以在它们之间传输数据。完成后,请务必在此粘贴板上调用- releaseGlobally