关于Objective-C中的内存泄漏的问题

时间:2011-01-28 05:41:59

标签: objective-c memory-leaks

如果我分配类似

的内容

self.connection = [NSURLConnection connectionWithRequest:request delegate:self];

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

self.connection = nil;

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

1 个答案:

答案 0 :(得分:3)

这不会是内存泄漏。这是因为如何实现客观的c属性。我假设您在财产声明中使用保留。现在当你执行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

找到详细信息