2013-11-04 54 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