我尝试使用以下方法从 NSURL
获取 NSString
:
NSString *tmp2 = [item.path absoluteString];
不幸的是我得到的不是 NSURL:
<CFURL 0x173c50 [0x3f1359f8]>{type = 0, string = /var/mobile/Applications/A30FD2E4-A273-4522-AFD5-A981EFD3C2AA/Documents/*** *** - *** ***.***, encoding = 134217984, base = (null)}
我得到:
file://localhost/var/mobile/Applications/A30FD2E4-A273-4522-AFD5-A981EFD3C2AA/Documents/***%20***%20-%20***%20***.***
知道为什么吗?
最佳答案
NSURL documentation明确指出 absoluteString
返回一个 NSString,就像上面的代码一样。这是绝对路径的字符串表示,所以你得到的就是你应该得到的。
但是,查看文档您也可以使用 path
, relativePath
或 relativeString
以其他格式获取 url 的字符串表示形式(符合或不符合 RFC 1808 的绝对路径或相对路径(现在已过时 percent encoding )。
关于iphone - 从 NSURL 获取 NSString,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8730107/