サーバーからデータを取得するために NSURLSessionDataTask で簡単なことをしようとしています。以前は NSURLConnection を使用してそのデータを取得していましたが、コードを NSURLSessionDataTask に移動したいと考えていました。だからここにコード
NSString *_urlString = [NSString stringWithFormat:@"%@/integration/admin/token",BaseURL];
NSMutableURLRequest *_request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:_urlString]];
[_request setHTTPMethod:@"POST"];
[_request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
NSData *_sendingData = [NSJSONSerialization dataWithJSONObject:@{@"username":@"demo", @"password":@"demo123"} options:0 error:NULL];
[_request setHTTPBody:_sendingData];
NSURLSessionConfiguration *_defaultConfig = [NSURLSessionConfiguration defaultSessionConfiguration];
NSURLSession *_session = [NSURLSession sessionWithConfiguration:_defaultConfig delegate:self delegateQueue:[NSOperationQueue mainQueue]];
NSURLSessionDataTask *_dataTask = [_session dataTaskWithRequest:_request completionHandler:^(NSData *_data, NSURLResponse *_response, NSError *_error)
{
if (_error)
{
NSLog(@"Error %@",[_error description]);
}
else
{
NSLog(@"No Error %@",[[NSString alloc] initWithData:_data encoding:NSUTF8StringEncoding]);
}
}];
[_dataTask resume];
[_session finishTasksAndInvalidate];
それは完全に機能し、出力も取得します。しかし、Instrument で同じコードを実行すると、以下のリークが発生しますInstrument Output