我有一个NSView
用于接受来自所有来源(本地和远程)的文件。我使用NSFilesPromisePboardType
来接受从浏览器拖动的图像等远程文件。以下是我用于将拖放的图像复制到我的文件夹中的代码:
- (BOOL)performDragOperation:(id <NSDraggingInfo>)sender
{
NSPasteboard * pboard = [sender draggingPasteboard];
NSDragOperation sourceDragMask = [sender draggingSourceOperationMask];
if ([[pboard types] containsObject:NSFilesPromisePboardType])
{
[sender namesOfPromisedFilesDroppedAtDestination:_fileStorageFolder];
return YES;
}
return NO;
}
我注意到了两个问题:
- 在调试控制台中打印“在粘贴板上查找HFSPromises,但没有找到。”警告。
- Finder会打开一个新窗口来显示并突出显示新下载的文件。
接收来自浏览器的文件的正确方法是什么,可以避免任何警告和Finder窗口的弹出?