2012-01-04 5 views
8

から私はこの方法でNSURLからNSStringを取得しよう:取得NSStringのNSURL

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***.*** 

どんな考え?

+0

gdbで 'po item'(itemはNSURLです)を実行することで得られるものを探しているなら、' [item description] 'を呼び出す必要があります。なぜNSUrlが必要なのか分かりません。 – Sam

+6

あなたはURLから文字列を取得したいと言っていますが、それはまさにあなたが得ているものです - あなたの問題は何ですか? – Till

+1

問題は、代わりに "%20"が得られることですの " " – MTA

答えて

20

NSURL documentationは、上記のコードと同じように、absoluteStringがNSStringを返すことを明確に示しています。これは絶対パスの文字列表現なので、何を得ているのでしょうか。

しかし、ドキュメンテーションを見て、あなたはまた、他のフォーマットのURLの文字列表現(のいずれかで行うか(RFC 1808に適合しない、絶対パスまたは相対パスを取得するにはpathrelativePathまたはrelativeStringを使用することができなくなりましpercent encoding

関連する問題