错误处理时保持kPasteboardTypeFileURLPromise

问题描述:

我的Mac应用程序应该允许拖放kPasteboardTypeFileURLPromise从文件承诺或到粘贴板。错误处理时保持kPasteboardTypeFileURLPromise

据我所知,每个NSPasteboardItem应该在其可用的类型中有kPasteboardTypeFileURLPromise。

与由拖动目标处理的NSURL不同,kPasteboardTypeFileURLPromise由拖动源写入到由拖动目标设置的目标位置。

但是,当源未能履行承诺时,似乎没有办法将目标错误及其用户信息传递给恢复(例如NSRecoveryAttempterErrorKey等)。

拖动kPasteboardTypeFileURLPromise时处理错误的最佳做法是什么? 它们是否应该由拖放源处理?

与由目标处理错误的拖动NSURL相比,它可能会导致一些不一致。

如果u需要复制文件到剪贴板,使用此:

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