[AppKit] NSPasteboard へ文字列をコピーする方法

     
⌛️ < 1 min.
MacOS アプリ開発で、コピペ対応に必要となる NSPasteboard の使い方を説明します。

NSPasteboard

Apple のドキュメントは、こちら

NSPasteboard がコピペの背景にあるクリップボードを表すクラスです。

アプリ間で横断的に使えるようにするためには、NSPasteboard.general で取得できるオブジェクトを使う必要があります。

文字列をセットするのは簡単

クリップボードには、いろいろなオブジェクトを保持することができますが、文字列をセットするのは非常に簡単で、それ用の API が用意されています。

クリップボードに文字列をセットする


 NSPasteboard.general.clearContents()
 NSPasteboard.general.setString("TextDataFromApp", forType: .string)

上記のコードを実行すると、”TextDataFromApp”という文字列が、クリップボードにセットされます。

気をつけなければいけない点は、セットする前に、clearContents() を呼ぶ必要がある点です。

clearContents を呼び出さないと、setString で false が返されます(セットできなかったことを表します)。

まとめ:文字列をクリップボードにセットする方法

文字列をクリップボードにセットする方法
  • NSPasteboard.general を使って、アプリ間で共有されているクリップボードを取得
  • setString を使って、セットしたい文字列を設定する
  • clearContents を使って、クリアしてから、セットする(⬅️忘れがち)

説明は以上です。

コメントを残す

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