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. 我有一个方法,该方法里面是上面的请求。
它在视图控制器出现时自动调用 -- 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