关于Objective-C中内存泄漏的问题
如果我指定如下内容 self.connection=[NSURLConnection connectionWithRequest:request委托:self] 现在,如果要执行以下操作: 自连接=零关于Objective-C中内存泄漏的问题,objective-c,memory-leaks,Objective C,Memory Leaks,如果我指定如下内容 self.connection=[NSURLConnection connectionWithRequest:request委托:self] 现在,如果要执行以下操作: 自连接=零 这会是内存泄漏吗?如果没有,为什么?这不会是内存泄漏。这是因为objective c属性是如何实现的。我假设您在财产申报中使用了retain。现在,当您执行self.connection时,将调用以下方法。因为您的连接首先被释放,然后执行到nil的retain操作,该操作只返回nil。因此不会发生
这会是内存泄漏吗?如果没有,为什么?这不会是内存泄漏。这是因为objective c属性是如何实现的。我假设您在财产申报中使用了retain。现在,当您执行self.connection时,将调用以下方法。因为您的连接首先被释放,然后执行到nil的retain操作,该操作只返回nil。因此不会发生内存泄漏
-(void)setConnection:(NSURLConnection *)newConnection {
if (connection != newConnection) {
[connection release];
connection = [newConnection retain];
}
}
您可以在此处找到详细信息这不会是内存泄漏。这是因为objective c属性是如何实现的。我假设您在财产申报中使用了retain。现在,当您执行self.connection时,将调用以下方法。因为您的连接首先被释放,然后执行到nil的retain操作,该操作只返回nil。因此不会发生内存泄漏
-(void)setConnection:(NSURLConnection *)newConnection {
if (connection != newConnection) {
[connection release];
connection = [newConnection retain];
}
}
你可以在这里找到详细信息否。你认为会有一个吗?否。你认为会有一个吗?