NSPasteboardを使用してアプリケーション間でデータを転送する方法(コンテキストメニューを使用)

“NSPasteboardオブジェクトは、ペーストボードサーバーとの間でデータを転送します。サーバーは、実行中のすべてのアプリケーションによって共有され、ユーザーが切り取りまたはコピーしたデータと、
NSPasteboardオブジェクトは、サーバーとすべてのペーストボード操作に対するアプリケーションの唯一のインターフェイスです。

     

NSPasteboardオブジェクトは、各アプリケーションのサービスメニューに表示されているアプリケーションとサービスプロバイダ間のデータを転送する場合にも使用します。ドラッグペーストボード(NSDragPboard)は、ユーザーがドラッグしているデータを転送するために使用されます。

私はAppleのNSPasteboardのドキュメントでこれを見つけました。これまでは単純なコピー・ペーストの目的でペーストボードを使用する方法しか知りませんでした。ドラッグアンドドロップの代わりにコンテキストメニューを使用して、アプリケーション間でペーストボードサーバーを介して非コピー

ペースト目的のデータを転送する方法を知りたいと思っています。たとえば、ユーザーが単語を右クリックしてコンテキストメニューの「辞書で検索」をクリックすると、その単語は(恐らく)ペーストボードを介して辞書アプリに送信されます。

誰かが “Dictionary in
Lookup”を使用した単語を保存しているペーストボードサーバーのデータにアクセスする方法を示す概念実証アプリを実演できますか?

ベストアンサー

私たちが「辞書で検索」のペーストボードを見つける必要はありません。
(もしあれば)。しかし、NSPasteboardクラスのメソッドがあります。このメソッドは、アプリケーション間でペーストボード経由でデータを転送する場合に使用します。

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

両方のアプリに同じ名前を使用するだけで、それらの間でデータを転送できます。作業が終わったら、このペーストボードで -
releaseGlobally
を呼び出してください。

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です