我在 OS X 上的应用程序中有一些操作,我必须从 finder 中选择文件。我想显示如下窗口:“打开文件”。我知道这让我打开带有路径的 url:
[[NSWorkspace sharedWorkspace] openURL:[NSURL fileURLWithPath:NSHomeDirectory() isDirectory:YES]];
但是如何使用“选择”按钮显示窗口。这个窗口应该让我获得有关所选文件的信息。
我怎样才能正确地做到这一点?
谢谢你的帮助。
我在 OS X 上的应用程序中有一些操作,我必须从 finder 中选择文件。我想显示如下窗口:“打开文件”。我知道这让我打开带有路径的 url:
[[NSWorkspace sharedWorkspace] openURL:[NSURL fileURLWithPath:NSHomeDirectory() isDirectory:YES]];
但是如何使用“选择”按钮显示窗口。这个窗口应该让我获得有关所选文件的信息。
我怎样才能正确地做到这一点?
谢谢你的帮助。
先前答案的代码:
NSOpenPanel *op = [NSOpenPanel openPanel];
op.canChooseFiles = YES;
op.canChooseDirectories = YES;
[op runModal];
self.txtFilePath.stringValue = [op.URLs firstObject];
在 op.URLs 中,您可以找到刚刚选择的所有文件的路径。
基于 EderYif 的回答,以下内容不会产生编译器警告,并且还会删除返回文件名的 'file://' 部分。
NSOpenPanel *op = [NSOpenPanel openPanel];
[op setCanChooseFiles:true];
[op setCanChooseDirectories:true];
[op runModal];
NSString* file = [[op.URLs firstObject] absoluteString];
NSString* fixedFile = [file stringByReplacingOccurrencesOfString:@"file://"
withString:@""];
[[self textFilePath] setStringValue:fixedFile];
@Perception 和 @omz 给了我很好的答案。答案是NSOpenPanel
。