在方法调用上获取EXC_BAD_ACCESS

时间:2011-07-07 21:18:55

标签: iphone objective-c memory-management dealloc

从我的角度来看,这真的很奇怪。我从来没有见过这样的东西。我将所有版本都放在一个名为releaseMethod的方法中。然后在我的deallocdidReceiveMemoryWarning中,[self releaseMethod];我这样做是为了更加客观定位并保存代码,因为我有很多版本。但是,偶尔(5次中有2次,给予或接受),我在EXC_BAD_ACCESS的{​​{1}}来电中获得releaseMethod。代码如下。我不知道有可能让方法调用得到不良访问。我理解内存管理,调用方法没有内存,对吧? 提前谢谢。

dealloc

2 个答案:

答案 0 :(得分:3)

将你的[super dealloc]放在dealloc的末尾,这样你就可以先清理你班级中的东西,然后再清理超类中的东西(你可能会依赖它)。

答案 1 :(得分:2)

如果将消息release发送到已经解除分配的对象,则会显示此消息。检查您是否在releaseMethod中过度发布了某些内容。请记住,当一个对象被释放时,它将释放它保留的对象。

在致电[self releaseMethod]之前,您还应该先[super dealloc]