2013-11-04 55 views
2
NSString* urlText = @"http://www2.htk.dk/Socialpsykiatrien/menuplan%20værestedet.pdf"; 
NSString* urlTextEscaped = [urlText stringByAddingPercentEscapesUsingEncoding:NSISOLatin1StringEncoding]; 
NSURL *url = [NSURL URLWithString: urlTextEscaped]; 

NSURLRequest *request = [NSURLRequest requestWithURL:url]; 

這是我的代碼。而且每次停在的NSURLRequest ......它看起來像它正確加載的網址壽 但我似乎無法找到錯誤nsurlrequest將不會加載pdf

所有的控制檯說的是:(LLDB)

+2

您正在將轉義編碼添加到已經轉義的url中,它似乎已經在urlText中具有%20。 –

+0

我也有鏈接中的æ... – KennyVB

+0

試過這個aswelll NSURL * targetURL = [NSURL URLWithString:@「http://www2.htk.dk/Socialpsykiatrien/menuplan%20værestedet.pdf」]; NSURLRequest * request = [NSURLRequest requestWithURL:targetURL];並且它什麼都不加載 – KennyVB

回答

2

它工作正常如果你避開%的逃避的東西,已經是百分之逃脫:

NSString* urlText = @"http://www2.htk.dk/Socialpsykiatrien/menuplan værestedet.pdf"; 
NSString* urlTextEscaped = [urlText stringByAddingPercentEscapesUsingEncoding:NSISOLatin1StringEncoding]; 
NSURL *url = [NSURL URLWithString: urlTextEscaped]; 
NSURLRequest *request = [NSURLRequest requestWithURL:url]; 

或者,如果你對這個字符串源已經埋在它%20,則可以取消轉義它,並重新逃避它:

NSString* urlText = @"http://www2.htk.dk/Socialpsykiatrien/menuplan%20værestedet.pdf"; 
NSString* urlTextUnescaped = [urlText stringByReplacingPercentEscapesUsingEncoding:NSISOLatin1StringEncoding]; 
NSString* urlTextEscaped = [urlTextUnescaped stringByAddingPercentEscapesUsingEncoding:NSISOLatin1StringEncoding]; 
NSURL *url = [NSURL URLWithString: urlTextEscaped]; 
NSURLRequest *request = [NSURLRequest requestWithURL:url]; 
+1

第二個像魅力一樣工作。源allrdy有%20符號 – KennyVB