[self.view release]和[view release]之间的区别?

时间:2011-08-03 18:16:10

标签: objective-c

之间有什么区别

[self.view release]和[view release]之间的区别。

我在[self.view release]

中遇到内存泄漏错误

2 个答案:

答案 0 :(得分:1)

[view release]直接在名为NSObject的实例变量上调用- (void)release的{​​{1}}方法。

view正在调用[self.view release](我假设- (UIView *)view的类型为view)并且然后正在调用<{1}}返回的对象。

答案 1 :(得分:1)

应该没有任何实际差异。但是,由于使用属性的一个原因是不需要显式内存管理,[self.view release]将是一件奇怪的事情。如果它是属性,则让属性访问器保留并根据需要释放对象。

很难理解为什么你会从[self.view release]获得真正的泄密。泄漏来自未能正确释放物体 - 我不认为你可以通过释放物品来造成泄漏。可能是通过属性访问对象可能会阻止静态分析器将点+ + alloc连接到-release。