如果我分配类似
的内容self.connection = [NSURLConnection connectionWithRequest:request delegate:self];
现在,如果执行以下操作:
self.connection = nil;
这会是内存泄漏吗?如果不是,为什么呢?
答案 0 :(得分:3)
这不会是内存泄漏。这是因为如何实现客观的c属性。我假设您在财产声明中使用保留。现在当你执行self.connection时,将调用以下方法。由于您的连接首先被释放,然后执行保留操作为nil,这将返回nil。因此不会发生内存泄漏。
-(void)setConnection:(NSURLConnection *)newConnection {
if (connection != newConnection) {
[connection release];
connection = [newConnection retain];
}
}
找到详细信息