問題タブ [nspasteboard]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
929 参照

cocoa - プロキシオブジェクトなしで NSArrayController から選択したオブジェクトを取得する方法は?

NSTableViewに裏打ちされた複数のオブジェクトのコピーと貼り付けを実装しようとしていNSArrayControllerます。私のcopy:方法は次のようになります。

コピーを実行しようとすると、コントローラーの選択にアクセスするとエラーが発生します。これは、プロキシ オブジェクトが返されるためです。

実際に選択されたオブジェクトを取得するにはどうすればよいですか?

0 投票する
1 に答える
389 参照

objective-c - 一般的なペーストボードに入れたアイテムを別の Cocoa アプリがいつペーストしたかを知る方法

Mac OS X アプリ (Cocoa) で、アイテムを一般的なペーストボードにコピーしていますNSPasteboard.generalPasteboard()。このアイテムは、プロトコルを実装するオブジェクトを使用してNSPasteboardItemDataProvider、ユーザーが別のアプリを使用して貼り付けたときにデータを提供します。

宛先アプリによって選択されたタイプに応じて、一時的な作業 (一時ファイルへのファイルの書き込みなど) を実行できます。

この操作がいつ完了またはキャンセルされたかを検出する方法はありますか?

例として、コピー/貼り付け操作のドラッグに同じデータ プロバイダーを使用します。NSDraggingSourceプロトコルを採用 - draggingSession:endedAtPoint:operation:して、いつクリーニングを行うべきかを知る方法を実装します。

0 投票する
1 に答える
530 参照

macos - NSPasteboardItemDataProvider を使用して NSDraggingSession でメイン スレッドをブロックしないようにする

Mac OS X アプリ (Cocoa) で、NSDraggingSession. はNSDraggingItem、 protocol を実装するオブジェクトを使用してNSPasteboardItemDataProvider、ユーザーがデータをドロップしたときにデータを提供します。

画像を扱っているので、関連するタイプはNSPasteboardTypePNGkPasteboardTypeFileURLPromisekUTTypeFileURLcom.adobe.photoshop-imageおよびpublic.svg-imageです。これらの画像は遠隔地にあるため、ペーストボードに提供する前に、インターネットからダウンロードする必要があります。

- pasteboard(pasteboard:item:provideDataForType:)次のような方法でメソッドを実装します。

  • 要求されたタイプが の場合、kPasteboardTypeFileURLPromise貼り付け場所を取得し、将来ファイルが書き込まれる予定の場所を含む URL 文字列をペーストボードに作成して設定します。

  • 要求されたタイプが の場合、kUTTypeFileURLファイルをダウンロードし、一時的な場所を指定して、ダウンロードしたファイルをその場所に書き込みます。次に、場所の URL 文字列をペーストボードに設定します。

  • 要求されたタイプが他のタイプの場合、ファイルをダウンロードNSDataしてペーストボードにプレーンを設定します。

これらの操作はすべてメイン スレッドで実行されるため、解消したい遅延が発生します。

これらの操作をバックグラウンド スレッドで実行し、メイン スレッドに戻ってペーストボードに最終データを設定しようとしましたが、メソッドが前に終了するため、これは機能しません。

誰もそれを達成する方法を知っていますか?

0 投票する
0 に答える
370 参照

macos - Macアプリでショートカット(Command + V)で貼り付けイベントを観察する方法

私のMacアプリでは、ペーストボードからのペーストのショートカットを観察する必要があり、何かをログに記録します。

これは可能ですか?

手がかりをありがとう。

0 投票する
1 に答える
844 参照

excel - NSPasteboard にデータを書き込み、列と行で分割して Excel に貼り付けます

SwiftによるNSPasteboardの利用について。NSTableView データをコピーし、Excel 形式に合わせて行と列で分割して Excel に貼り付ける OS X プログラムを作成したいと考えています。現在のコード:

NSPasteboard の NSPasteBoardWriting データを調整して、ASCII または ??? を挿入する方法がわかりません。

0 投票する
2 に答える
1250 参照

copy - 選択したテキストを Swift でコピーする

OS X でポップオーバー メニュー バー アプリを作成しています。

目標は、現在アクティブなアプリケーション (ポップオーバーではない) の選択されたテキストをアプリにコピーして、文字列として使用できるようにすることです。

0 投票する
0 に答える
111 参照

cocoa - RTF/RTFDでフォントを変更するNSPasteboard

画像とテキストを貼り付けるユーティリティに取り組んでいます。これまでのところ、これを行うための最良の方法はNSPasteboard、画像とテキストを使用して RTFD データ ストリームにカプセル化することでした。私が抱えている問題は、コピーしたコードをドキュメントに貼り付けるたびに、フォント属性がない (確認済み) にもかかわらず、フォントが「Helvetica サイズ 12」に変更されることです。フォントを変更せずにテキストと画像を強制的に貼り付けることはできますか?

0 投票する
1 に答える
187 参照

macos - AMWorkflowView への Automator アクションのドラッグ アンド ドロップ

2010 年に誰かがバグを報告しました: http://www.openradar.me/7582817

実際、自動化アクションを Finder から editableAMWorkflowViewにドラッグ アンド ドロップすると、アクションは追加されませんが、新しい「指定されたファインダー項目を取得する」アクションが追加されます。

NSTableViewテーブルビューから他のビューにドラッグできるいくつかのアクションのリストがあります。その右側にはAMWorkflowView、ドラッグ先となる が表示されます。ここでも、ドラッグされたアクション自体の代わりに「指定されたファインダー項目を取得する」アクションが追加されることを除いて、すべてが実装され、正常に動作します。

AMWorkflowView's -registeredDraggedtypesこのリストの出力を印刷します。

["ApertureImageDataPboardType"、"CalUUIDPasteboardType"、"AlbumDataListPboardType"、"CorePasteboardFlavorType 0x6974756E"、"ABGroupsUIDsPboardType"、"CorePasteboardFlavorType 0x4F69646E"、"NSFilenamesPboardType"、"AutomatorActions"、"com.apple.Automator.RunScript.source"、"Apple URLペーストボード タイプ"、"com.apple.mail.PasteboardTypeAutomator"、"ApertureFolderDataPboardType"、"NSStringPboardType"、"CorePasteboardFlavorType 0x4870666C"、"AutomatorVariables"、"ImageDataListPboardType"、"アクション エラー"、"ABPeopleUIDsPboardType"]

「AutomatorActions」pboard タイプが関連するもののようですが、ドキュメントが不足しているため、アプリを機能させる方法を理解できませんでした。これに関する有用な情報はありますか?Apple の Automator ドキュメントで意味のあるものを見つけることができませんでした... をNSPasteBoardアーカイブして のデータを設定しても機能AMBundleActionNSKeyedArchiverませんでした。

0 投票する
1 に答える
557 参照

swift - フォルダー/ディレクトリ項目を NSOutlineView から Finder や Xcode などのアプリにドラッグするにはどうすればよいですか?

Apple のこの例のようなディスク (ファイル システム) 階層を示すアウトライン ビュー テーブルを作成しました。

https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/OutlineView/Articles/UsingOutlineDataSource.html#//apple_ref/doc/uid/20000725-142693

ここで、ファイル/フォルダーをアウトライン ビューから、Finder、Xcode、iTunes などのドロップを受け入れる他のアプリケーションにドラッグできるようにしたいと考えています。これらは、NSOu のデータ ソースに実装している機能です。

現在、コンソールでこのエラーが発生しています

最後に、これは私が持っているもののスクリーンショットです - ファイルシステムを示す NSOutlineView

0 投票する
1 に答える
525 参照

xcode - 一般的な NSPasteboard の完全なコンテンツをコピーします

一般的な NSPasteboardの完全なコンテンツを、指定された名前のペーストボードにコピーする必要があります。私はこのコードを試しました:

このコードを使用して確認しています。

そこで、IWork Pages を使用してテストを行ったところ、テキストと属性付きテキストで動作しました。しかし、テキストと画像で実行しようとすると、プログラムはテキストをコピーして貼り付けるだけです。その上、画像だけを使って実行しようとしましたが、うまくいきました。私のコードをあらゆる種類のデータで使用する方法を教えてください。ありがとう。