Get NSString From NSURL



我尝试用这种方法从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文档明确声明absoluteString返回一个NSString,就像你上面的代码一样。这是绝对路径的字符串表示形式,所以你得到的就是你应该得到的。

但是,查看文档,您也可以使用path, relativePathrelativeString以其他格式获得url的字符串表示(绝对或相对路径,要么符合或不符合RFC 1808(现在已过时的百分比编码)。

最新更新