2

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でテストしています。

4

0 に答える 0