Macos 在OS X中从剪贴板获取文件路径
我想让我的应用程序获得复制到剪贴板的文件的完整路径 我试过这个:Macos 在OS X中从剪贴板获取文件路径,macos,cocoa,clipboard,nspasteboard,Macos,Cocoa,Clipboard,Nspasteboard,我想让我的应用程序获得复制到剪贴板的文件的完整路径 我试过这个: NSPasteboard *p = [NSPasteboard generalPasteboard]; NSDictionary *options = [NSDictionary dictionary]; NSString *path = [[p readObjectsForClasses:[NSArray arrayWithObjects:[NSString class], nil] options:options] objec
NSPasteboard *p = [NSPasteboard generalPasteboard];
NSDictionary *options = [NSDictionary dictionary];
NSString *path = [[p readObjectsForClasses:[NSArray arrayWithObjects:[NSString class], nil] options:options] objectAtIndex:0];
这只返回文件名,不返回路径
你能帮我吗?试试这个:
NSPasteboard *pasteboard = [NSPasteboard generalPasteboard];
NSArray *classes = [NSArray arrayWithObject:[NSURL class]];
NSDictionary *options = [NSDictionary dictionaryWithObject:
[NSNumber numberWithBool:YES] forKey:NSPasteboardURLReadingFileURLsOnlyKey];
NSArray *fileURLs =
[pasteboard readObjectsForClasses:classes options:options];
这与苹果公司的观点完全一致。顺便说一句,但这与这个问题无关。事实上,在所有现代代码中,只要你有选择,文件URL应该优先于路径名。但我需要的是路径,而不是文件URL。。。这可能吗?在获得
NSURL
对象后,在其上调用-path
。@奥斯卡:您确定需要路径吗?Cocoa中几乎所有的东西都有一个方法,在这一点上接受URL。(如果我似乎挂断了电话,很抱歉;当人们应该使用url时,不必要地使用路径是很常见的。)我尝试了文件url,但没有成功。我需要它来上传(ASIHTTPRequest)