1

OS Xのアプリケーションで、ファインダーからファイルを選択する必要があるアクションがあります。「ファイルを開く」のようなウィンドウを表示したい。これにより、パスを使用して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 に答える