Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 在OS X中从剪贴板获取文件路径_Macos_Cocoa_Clipboard_Nspasteboard - Fatal编程技术网

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)