我必须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 窗口的正确方法是什么?