16

NSSavePanelからNSURLを取得しました。私は今、私に以下を与えるこのNSURLを持っています:

file://localhost/Users/brett/Documents/asdf%20asdf.json

これで、次のようなものを使用してファイル名だけを取得するのは簡単です。

[[[NSFileManager defaultManager] displayNameAtPath:pathAndFilename] stringByDeletingPathExtension]

これにより、予想どおり、ローカライズされたファイル名だけが得られます。asdf%20asdf

だから、どうすれば次のようにパスを取得できますか? file://localhost/Users/brett/Documents/

4

3 に答える 3

35

-[NSURL URLByDeletingLastPathComponent]これを実現する最も簡単な方法です。

于 2013-04-09T17:18:30.023 に答える
28

メソッドを使用NSStringしてファイルパスを操作できます。例えば、

NSString *directory = [[URL absoluteString] stringByDeletingLastPathComponent];
NSString *filename = [[URL absoluteString] lastPathComponent];

AppleDocsで他の便利なメソッドを見つけることができます:NSStringクラスリファレンス->パスの操作セクション

于 2012-10-04T01:59:43.410 に答える
1

NSSavePanel から直接:

NSSavePanel *savePanel;
...
NSString *path = savePanel.directoryURL.path;
于 2015-04-21T12:22:39.197 に答える