2012-01-04 22 views
8

próbuję dostać NSString z NSURL z tą metodą:Get NSString Od bibliotece NSURL

NSString *tmp2 = [item.path absoluteString]; 

Niestety otrzymuję zamiast bibliotece NSURL:

<CFURL 0x173c50 [0x3f1359f8]>{type = 0, string = /var/mobile/Applications/A30FD2E4-A273-4522-AFD5-A981EFD3C2AA/Documents/*** *** - *** ***.***, encoding = 134217984, base = (null)} 

uzyskać:

file://localhost/var/mobile/Applications/A30FD2E4-A273-4522-AFD5-A981EFD3C2AA/Documents/***%20***%20-%20***%20***.*** 

Jakiś pomysł, dlaczego?

+0

Jeśli szukasz tego, co uzyskałbyś robiąc "element po" (gdzie pozycja jest NSURL) w gdb, powinieneś zadzwonić do '[opis przedmiotu]' .Nie wiesz, dlaczego chcesz NSUrl. po prostu chcesz zbudować warstwę trwałości? – Sam

+6

Mówisz, że chcesz uzyskać ciąg z adresu URL i to jest dokładnie to, co dostajesz - jaki jest twój problem? – Till

+1

Problem polega na tym, że zamiast tego otrzymuję "% 20" z " " – MTA

Odpowiedz

20

NSURL documentation wyraźnie stwierdza, że ​​absoluteString zwraca NSString, podobnie jak powyższy kod. Jest to ciąg reprezentujący bezwzględną ścieżkę, więc to, co dostajesz, jest tym, co powinieneś dostać.

Jednak patrząc na dokumentacji można także użyć path, relativePath lub relativeString uzyskać reprezentację ciąg URL w innych formatach (w liczbach bezwzględnych lub względnych ścieżek, które albo zrobić lub nie odpowiadają RFC 1808 (a teraz przestarzałe percent encoding)

Powiązane problemy