NSURLConnectionのsendAsynchronousRequest:queue:completionHandler:を使ってさくっとネットワークアクセスしてみる

普段そんなに使わないのでメモ。

- (void)viewDidLoad
{
    [super viewDidLoad];
	// Do any additional setup after loading the view, typically from a nib.
    NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"https://www.google.co.jp/"]];
    [NSURLConnection sendAsynchronousRequest:request
                                       queue:[NSOperationQueue mainQueue]
                           completionHandler:^(NSURLResponse *response,
                                               NSData *data,
                                               NSError *error)
     {
         NSHTTPURLResponse *res = (NSHTTPURLResponse *)response;
         NSLog(@"%d",res.statusCode);

         if (data) {
             NSString *result = [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding];
             NSLog(@"%@",result);
         }
     }];
}

最初encoding:NSASCIIStringEncodingの所でNSUTF8StringEncodingを使っていて、dataは返ってきているのにresultがnilになって少しハマった。