NSURL *url = [NSURL URLWithString:escapedUrlString];
NSString *responseString = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil];
しかし、タイムアウトを追加したい場合は、代わりにNSURLRequestを使用する必要があることをオンラインで読んでいました。最初のコードは正常に機能しますが、2番目のコードは常に@ ""(nilではなく "")を返します。誰か提案がありますか?
また、NSURLConnectionが実行される可能性のあるあらゆる種類のWeb圧縮を処理するのに対し、NSURLRequestはそれを処理しないことも読んだので、より丸みのあるソリューションを選択したほうがよいと思いました。 http://lists.apple.com/archives/cocoa-dev/2009/Oct/msg01921.html
NSString *escapedUrlString = [urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSString *responseString;
NSURLResponse *response;
NSError *error;
NSURLRequest *request = [[NSMutableURLRequest alloc]
initWithURL:[NSURL URLWithString:escapedUrlString]
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:5]; // 5 second timeout?
NSData* data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
if(responseString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]){
NSLog(@"Recieved String Result: %@", responseString);
} else {
NSLog(@"Response String is null!");
}