我需要获取从 Finder 拖/放到我的应用程序中的所有文件的 URL。
我有一个在 10.6 上运行的 Cocoa 应用程序,它通过使用新的 10.6 NSPasteboard 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];
}
最佳答案
获取多个文件名很容易:(使用 10.5 获取 multiple URLs is not)
- 注册您的 View
NSFilenamesPboardType
- 在
performDragOperation:
中执行以下操作以获取文件路径数组:
NSPasteboard* pboard = [sender draggingPasteboard];
NSArray* filenames = [pboard propertyListForType:NSFilenamesPboardType];
关于cocoa - 如何在 Mac OS X 10.5 中处理 Finder 中的多个文件拖放操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1998158/