NSSavePanelからNSURLを取得しました。私は今、私に以下を与えるこのNSURLを持っています:
file://localhost/Users/brett/Documents/asdf%20asdf.json
これで、次のようなものを使用してファイル名だけを取得するのは簡単です。
[[[NSFileManager defaultManager] displayNameAtPath:pathAndFilename] stringByDeletingPathExtension]
これにより、予想どおり、ローカライズされたファイル名だけが表示されます。asdf%20asdf
つまり、パスを取得するにはどうすればよいですか:file://localhost/Users/brett/Documents/
NSString
メソッドを使用して、ファイルパスを操作できます。例えば、
NSString *directory = [[URL absoluteString] stringByDeletingLastPathComponent];
NSString *filename = [[URL absoluteString] lastPathComponent];
他の便利なメソッドはAppleドキュメント: NSStringクラスリファレンス ->パスの操作にあります。 -) セクション
-[NSURL URLByDeletingLastPathComponent]
はこれを達成するための最も簡単な方法です。
NSSavePanelから直接:
NSSavePanel *savePanel;
...
NSString *path = savePanel.directoryURL.path;