2013-08-26 4 views
5

私のMacアプリケーションでは、kPasteboardTypeFileURLPromiseをドラッグアンドドロップしてペーストボードとの間でファイルの約束を得ることができます。kPasteboardTypeFileURLPromiseを維持するときのエラー処理

私が理解する限り、各NSPasteboardItemには、使用可能なタイプのkPasteboardTypeFileURLPromiseが必要です。

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

しかし、ソースが約束を果たさない場合、回復のためのユーザー情報(たとえばNSRecoveryAttempterErrorKeyなど)でエラーを宛先に渡す方法がないようです。

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

エラーが宛先によって処理されたドラッグされたNSURLと比較して、矛盾が発生することがあります。 uがクリップボードにファイルをコピーする必要がある場合

答えて

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 
関連する問題