1

我在 OS X 上的应用程序中有一些操作,我必须从 finder 中选择文件。我想显示如下窗口:“打开文件”。我知道这让我打开带有路径的 url:

[[NSWorkspace sharedWorkspace] openURL:[NSURL fileURLWithPath:NSHomeDirectory() isDirectory:YES]];

但是如何使用“选择”按钮显示窗口。这个窗口应该让我获得有关所选文件的信息。

我怎样才能正确地做到这一点?

谢谢你的帮助。

4

3 回答 3

5

先前答案的代码:

NSOpenPanel *op = [NSOpenPanel openPanel];
op.canChooseFiles = YES;
op.canChooseDirectories = YES;
[op runModal];
self.txtFilePath.stringValue = [op.URLs firstObject];

在 op.URLs 中,您可以找到刚刚选择的所有文件的路径。

于 2015-06-23T16:42:03.063 回答
1

基于 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];
于 2018-05-16T18:21:01.957 回答
0

@Perception 和 @omz 给了我很好的答案。答案是NSOpenPanel

于 2013-01-21T22:27:00.687 回答