我需要从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];
}
该IKImageKit programming topics
大纲的方式来做到这一点,像这样(意译):
NSData *data = [pasteboard dataForType:NSFilenamesPboardType];
NSArray *filenames = [NSPropertyListSerialization
propertyListFromData:data
mutabilityOption:kCFPropertyListImmutable
format:nil
errorDescription:&errorDescription];
参见此处:Image Kit编程指南:支持拖放