2011-01-28 73 views
0

如果我分配类似问题关于内存泄漏

self.connection = [NSURLConnection的connectionWithRequest:请求委托:自我];

现在,如果执行以下操作:

self.connection = nil;

这会是内存泄漏吗?如果不是,那为什么?

+0

号为什么你认为会有一个细节? – 2011-01-28 05:49:18

回答

3

这不会是内存泄漏。这是因为实现了多个客观的属性。我假设你在你的财产声明中使用保留。现在,当您执行self.connection时,将会调用以下方法。由于你的连接先被释放,然后执行一个保留操作到nil,它将返回nil。所以不会发生内存泄漏。

-(void)setConnection:(NSURLConnection *)newConnection { 
    if (connection != newConnection) { 
     [connection release]; 
     connection = [newConnection retain]; 
    } 
} 

您可以在这里找到http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/ObjectiveC/Articles/ocProperties.html

+0

非常感谢您清理东西。 – Ideveloper 2011-01-28 06:02:54