ios - 如何在使用 ARC 的项目中释放 'request'?

标签 ios asihttprequest automatic-ref-counting

作为 iOS 开发者的初学者。我在我的项目中使用ARC。我什至使用 ASIHttpRequest 来简化一些工作。如您所知,ASIHttpRequest 不支持 ARC。我添加了 -fno-objc-arc 编译器标志以使其正常工作。 现在,这是我的问题。如果我的某些代码如下所示,如何释放“请求”对象:

NSURL *url = [NSURL URLWithString:@"http://allseeing-i.com"];
   __block ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
   [request setCompletionBlock:^{
      NSData *responseData = [request responseData];
   }];
   [request setFailedBlock:^{
      NSError *error = [request error];
   }];
   [request startAsynchronous];

最佳答案

据我所知,编译器在混合 ARC 和非 ARC 代码时对 NSObjects 做了正确的事情。

根据 Cocoa 方法的命名约定,responseData 应该是非拥有引用。因此,您不应该负责保留/释放它。请求对象拥有它。

关于ios - 如何在使用 ARC 的项目中释放 'request'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10273815/

相关文章:

iphone - xcode 4.x 中的 zlib 框架在哪里

objective-c - 启用 ARC 的设备上的 iOS 崩溃

objective-c - 在 ARC 下,当直接分配给一个 ivar 时, block 是否会自动复制?

iphone - iOS - AFNetworking - 了解此代码片段 - 它在做什么?

ios - swift uitableview 重新排序除最后一个单元格之外的单元格

ios - 使用 iOS 的 UITableView,如果单元格在图像下载到其中之前已经出队怎么办?

iphone - 为什么当另一个线程正在运行时 NSTimer 会被阻塞?

automatic-ref-counting - 如何启用/禁用 “Automatic Reference Counting”?

ios - 如何在 iOS 应用程序中获取事件 ID 或引荐来源网址

ios - 调用中的无关参数标签 'localeID' (SwiftDate)