将包含URL的NSString转换为POSIX路径

opo*_*oko 7 cocoa objective-c nsstring nspathcontrol

我正在努力在NSPathControl将文件或文件夹放到文件夹或文件夹之后检索文件夹或文件的POSIX路径.

我是初学者,但我能够通过Destination这种方式从我的代码中获取控件(被调用)的值:

NSString *filepath;
filepath = [Destination stringValue];
Run Code Online (Sandbox Code Playgroud)

这给了我类似的东西

file://test/My%20New%20Project/

但我希望以POSIX路径形式:

/test/My New Project
因为我需要将它传递给NSTask正在运行的命令行程序.

有关如何将此内容NSString从URL格式转换为POSIX路径的任何建议?

小智 17

-URL而不是-stringValue.这将返回一个NSURL表示路径控件显示的路径的对象.然后,您可以发送-pathNSURL对象以获取其字符串表示,而无需URL方案/转义.例如:

NSURL *fileURL = [Destination URL];
NSString *filepath = [fileURL path];
Run Code Online (Sandbox Code Playgroud)

要么

NSString *filepath = [[Destination URL] path];
Run Code Online (Sandbox Code Playgroud)