我使用了 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 上测试它。