内存释放意外

时间:2010-10-12 22:29:53

标签: iphone memory-leaks

我陷入了一个奇怪的困境。我有一个类clsA,它有一些方法。我在其他类中创建ClsA的实例并访问clsA的方法。我在头文件中声明了clsA的对象,我同时写了这两行。

clsAobj = [[clsA alloc] init];
[clsAobj someemethod];

问题在于,执行第一行调试器后的调试显示分配给clsAobj的内存但执行第二行后,分配的内存丢失并变为0x0。访问ClsA的任何方法时都是如此。

任何人都可以帮助我理解这种困境吗?谢谢。

2 个答案:

答案 0 :(得分:0)

如果不了解如何实施clsA和某些方法,很难说出现了什么。我最好的猜测是clsA的init或alloc方法返回nil(使clsAobj在第一行之后没有nil而不是第二行)但是如果没有看到更多的代码,那么很难给你更详细的反馈。

答案 1 :(得分:0)

您是否正在调试优化代码?这可以解释你所看到的;编译器已经优化了引用,因为不再需要它。

或者,您在return self方法中init了吗?