AFNetwoking を使用しましたが、単純な AFHTTPRequestOperationManager POST:parameters:success:failure
でメモリ リークが発生しました。
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
[manager POST:@"https://my.url.com"
parameters:@{@"key":@"value"}
success:^(AFHTTPRequestOperation *operation, id responseObject)
{
NSLog(@"Sent!");
}
failure:^(AFHTTPRequestOperation *operation, NSError *error)
{
NSLog(@"failed!");
}];
関連するスクリーンショットは次のとおりです。
拡張 - CFURLCredential:
拡張 - NSCFString
を使用してARC
います。メソッドがあり、そのメソッド内に上記のリクエストがあります。
View Controller が表示されると自動的に呼び出されます -- viewDidAppear
。
メソッドが呼び出されるたびに、メモリ リークが発生します。私が渡しているのはディクショナリ (上記の例ではない) だと思ったので、ディクショナリ パラメータを削除し、@{"key":@"value"}
安全のためにシンプルに変更しました。そしたら、またもや漏水。
前に、メソッドがバックグラウンドで呼び出されていたためにメモリ リークが発生したため、メソッドがIBAction
適切にトリガーされるように、ボタンを配置してそれを にリンクしようとしました。
- (IBAction)sendRequest:(id)sender
{
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
[manager POST:@"https://my.url.com"
parameters:@{@"key":@"value"}
success:^(AFHTTPRequestOperation *operation, id responseObject)
{
NSLog(@"Sent!");
}
failure:^(AFHTTPRequestOperation *operation, NSError *error)
{
NSLog(@"failed!");
}];
}
それでも、ボタンを押してリクエストが終了するたびに、常にリークが発生します。
ちなみに、iPhone4 iOS 7でテストしています。