温馨提示:本文翻译自stackoverflow.com,查看原文请点击:cocoa - How do I handle multiple file drag/drop from Finder in Mac OS X 10.5?
drag-and-drop macos cocoa finder nspasteboard

cocoa - 如何在Mac OS X 10.5中处理从Finder进行的多个文件拖放操作?

发布于 2020-03-27 15:44:37

我需要从Finder中将所有文件的URL拖放到我的应用程序中。

我有一个运行在10.6上的Cocoa应用程序,该应用程序通过使用新的10.6 NSPasteboard API来执行此操作,该API可处理粘贴板上的多个项目。我正在尝试将该应用程序反向移植到10.5。我如何在10.5上处理此问题?

如果我做下面的事情,我只会得到第一个URL:

    NSArray *pasteTypes = [NSArray arrayWithObjects: NSURLPboardType, nil];
    NSString *bestType = [pboard availableTypeFromArray:pasteTypes]; 
    if (bestType != nil) {
        NSURL *url = [NSURL URLFromPasteboard:pboard];
    }        

查看更多

查看更多

提问者
robottobor
被浏览
121
catsby 2010-01-04 22:00

IKImageKit programming topics大纲的方式来做到这一点,像这样(意译):

   NSData *data = [pasteboard dataForType:NSFilenamesPboardType];
   NSArray *filenames = [NSPropertyListSerialization
        propertyListFromData:data
            mutabilityOption:kCFPropertyListImmutable
                      format:nil
            errorDescription:&errorDescription];

参见此处:Image Kit编程指南:支持拖放