5

私の Mac アプリでは、kPasteboardTypeFileURLPromise をドラッグ アンド ドロップして、ペーストボードとの間でファイル プロミスを取得できるようにする必要があります。

私が理解している限り、各 NSPasteboardItem は、利用可能なタイプに kPasteboardTypeFileURLPromise を持つ必要があります。

ドラッグ先によって処理される NSURL とは異なり、kPasteboardTypeFileURLPromise は、ドラッグ元によって、ドラッグ先によって設定された宛先の場所に書き込まれます。

ただし、ソースが約束を果たせなかった場合、回復のためにユーザー情報を含むエラーを宛先に渡す方法はないようです (例: NSRecoveryAttempterErrorKey など)。

kPasteboardTypeFileURLPromise をドラッグするときのエラー処理のベスト プラクティスは何ですか? ドラッグ元で処理する必要がありますか?

エラーが宛先によって処理されるドラッグされた NSURL と比較して、いくつかの不整合が生じる可能性があります。

4

1 に答える 1

1

ファイルをクリップボードにコピーする必要がある場合は、これを使用します。

NSPasteboard *pasteBoard = [NSPasteboard generalPasteboard];
[pasteBoard declareTypes:[NSArray arrayWithObjects:NSStringPboardType, NSFilenamesPboardType, nil] owner:nil];
[pasteBoard setString:self.fullpath forType:NSStringPboardType];                // copy file path as string
[pasteBoard setPropertyList:@[self.fullpath] forType:NSFilenamesPboardType];    // copy file link
于 2014-02-20T09:54:07.627 に答える