【发布时间】:2011-11-03 12:10:03
【问题描述】:
我发现了这个奇怪的东西。 XCode 仪器告诉我这一行
return (SDZPerson*)[[[SDZPerson alloc] initWithNode: node] autorelease];
泄漏。但是,如果我将其更改为:
SDZPerson* person = [[[SDZPerson alloc] initWithNode: node] autorelease];
return person;
仪器不再报告此位置的泄漏。真的是泄漏还是什么都没有?
提前谢谢大家。
【问题讨论】:
-
您确定这实际上是发生泄漏的地方吗?通常它只是说这是对象被分配的地方。
-
正如我所说,当我将其更改为两行时,警告就会消失。应用程序中没有更多泄漏,只有这一行。
-
为什么要在第一个 sn-p 中为
SDZPerson *添加类型转换? -
我在第二个 sn-p 中修复了 init 方法。它们都以相同的方式初始化。
标签: xcode pointers return memory-leaks autorelease