作为 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/