【发布时间】:2012-06-22 01:20:45
【问题描述】:
感谢您的光临。
这个静态分析器警告让我很烦 这是我的代码
+ (INURLConnection*)createConnectionForRequest:(INHTTPRequest *)aRequest {
INURLConnection* result = [[INURLConnection alloc] init];
if(result){
result.request = aRequest;
result.error = nil;
}
return result;
}
“返回结果”行向我显示潜在的内存泄漏警告(当我使用分析器时)。这是一个create方法,消费的方法是这样的
INURLConnection *connection_tmp = [INURLConnection createConnectionForRequest:aRequest];
self.connection = connection_tmp, [connection_tmp release];
所以创建连接返回保留计数为 1, self.connection 增加了保留计数,并且还有一个释放。
我知道我可以使用 ARC,但我想知道为什么静态分析器在这里显示潜在的内存泄漏。
忽略此警告是否安全?
干杯 阿伦
【问题讨论】:
-
@borrrden 是的,命名约定错误,我重命名了函数然后警告消失了,所以现在它遵守规则。 @tim Potter 感谢您的回答。如果我不遵循命名约定,我确实需要自动释放。我让自己对 CFCreatefunctions 感到困惑。欢呼阿伦
标签: objective-c memory-management