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 で停止します... URLを正しくロードしているように見えますが、エラーが見つからないようです

コンソールに表示されるのは次のとおりです: (lldb)

4

1 に答える 1

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];
于 2013-11-04T21:08:05.337 に答える