問題タブ [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.
objective-c - kPasteboardTypeFileURLPromise 保持時のエラー処理
私の Mac アプリでは、kPasteboardTypeFileURLPromise をドラッグ アンド ドロップして、ペーストボードとの間でファイル プロミスを取得できるようにする必要があります。
私が理解している限り、各 NSPasteboardItem は、利用可能なタイプに kPasteboardTypeFileURLPromise を持つ必要があります。
ドラッグ先によって処理される NSURL とは異なり、kPasteboardTypeFileURLPromise は、ドラッグ元によって、ドラッグ先によって設定された宛先の場所に書き込まれます。
ただし、ソースが約束を果たせなかった場合、回復のためにユーザー情報を含むエラーを宛先に渡す方法はないようです (例: NSRecoveryAttempterErrorKey など)。
kPasteboardTypeFileURLPromise をドラッグするときのエラー処理のベスト プラクティスは何ですか? ドラッグ元で処理する必要がありますか?
エラーが宛先によって処理されるドラッグされた NSURL と比較して、いくつかの不整合が生じる可能性があります。
macos - kPasteboardTypeFileURLPromise ソースの例
kPasteboardTypeFileURLPromise アイテムのドラッグをサポートする Apple のアプリケーションはどれですか?
私は kPasteboardTypeFileURLPromise のドラッグ先を実装しており、信頼できるドラッグ元に対してテストしたいと考えています。
(Finderはドラッグ先の例ですが、ドラッグ元を探しています)
macos - NSPasteBoard は、DragAndDrop を介してドックのダウンロード (グリッド ビュー) からアプリのステータスバー アイコンにファイルを取得します。
私が取り組んでいるココア アプリにドラッグ アンド ドロップ機能を実装しました。フォルダー、デスクトップ、またはハード ドライブの特定の場所からアプリのステータス バー アイコンにファイルをドラッグ アンド ドロップすると、アプリはそれを適切に検出し、問題なくファイルを操作できます。まったく。
私が遭遇する問題は、ドック (グリッド ビューで開く) の [ダウンロード] アイコンをクリックし、そこからファイルを選択してステータス バーにドラッグ アンド ドロップすると、アプリがそれをまったく検出しないことです。このシナリオでは、「performDragOperation」は呼び出されません。これは、ダウンロード グリッドが特定の場所ではなく、デスクトップに表示されるダウンロード フォルダーを表しているためだと思います。
これは、ドラッグの種類を登録する場所です。
}
dragEntered メソッドは次のとおりです。
}
どんな助けでも大歓迎です。ありがとうございました。
objective-c - ディレクトリでNSOutlineViewドラッグプロミス
NSOutlineViewDataSource
Finder へのドラッグ時にファイル システムに存在しないディレクトリをドラッグできるようにするには、どのように実装しますか? 私は大量のドキュメントを検索して検索して読みましたが、機能する価値のあるものを見つけるのに非常に苦労しました。ファイル システムのようなツリーを管理するカスタム データ ソースを使用します。すべてのアイテムは、そのパスを追跡するクラスのインスタンスです。ファイルとディレクトリをアウトライン ビューから Finder にドラッグできるようにしたいと考えています。
私は持っている:
その実装は、指定さ-outlineView:namesOfPromisedFilesDroppedAtDestination:forDraggedItems:
れたパス内にアイテムを書き込みます。これは、項目を Finder にドラッグできるという点で機能しますが、離すと他に何も起こら-...namesOfPromisedFilesDropped...
ず、メソッドも呼び出されません。また、
は私の中にあり-awakeFromNib
ます。はif (extension.length > 0) ...
どこかで見つけた例に基づいていましたが、日付が付けられており、ドキュメントには拡張子を返すと書かれているので、それは適切だと思います。個人的には、特にNSOutlineView
. ありがとう!
objective-c - NSDictionary を NSPasteboard に書き込む
NSData
画像の形式、画像のサイズ、および画像の他の属性を含む辞書があります。NSDictionary
toを書くにはどうすればよいNSPasteboard
ですか?
私は次のようにコードを書きました:
コンパイル後、コンソールに次のメッセージがスローされます。
のインスタンスは にclass __NSDictionaryM
は無効ですNSPasteboard -writeObjects:
。はプロトコルclass __NSDictionaryM
を実装しません。NSPasteboardWriting
objective-c - NSAttributedString を NSData に変換するには?
NSAttributedString
ペーストボードに書き戻したい があります。
ジェネラル NSPasteboard
にはさまざまなタイプがあり、NSAttributedString
アタッチメント付きには適合しますNSPasteboardTypeRTFD
ペーストボードに書き込む方法を知っています:
しかし、与えられたNSAttributedString
2 つのRTF NSDataからどのように変換するのですか(これは、ペーストボードで読み取り可能な型に適合するはずです)。
macos - Mac Mail / TextEdit のやり取りを再現
TextEdit には、Mac Mail アプリからドラッグされたメッセージのこの素晴らしい処理があります — 件名行はハイパーリンクとして転送され、クリックすると元のメッセージが Mail で開きます。アプリで同じことを行う方法はありますか? NSPasteboard ではあまり運がありません。データは NSURL または NSString として転送されないようです。メールメッセージを Microsoft Word にドラッグすると、ファイル URL を介して転送されるため、データが完全に曖昧であるとは思いませんが、ファイル URL は正常に開きません。