NSURL *url = [NSURL URLWithString:escapedUrlString];
NSString *responseString = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil];
Но я читал в Интернете, что мне, вероятно, следует использовать NSURLRequest, если я хочу добавить тайм-аут.Первый код работает нормально, но второй код всегда возвращает @ "" (не ноль, просто "").У кого-нибудь есть предложения?
Я также читал, что NSURLConnection позаботится о любом виде веб-сжатия, который может быть сделан, тогда как 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!");
}