从我的角度来看,这真的很奇怪。我从来没有见过这样的东西。我将所有版本都放在一个名为releaseMethod
的方法中。然后在我的dealloc
和didReceiveMemoryWarning
中,[self releaseMethod];
我这样做是为了更加客观定位并保存代码,因为我有很多版本。但是,偶尔(5次中有2次,给予或接受),我在EXC_BAD_ACCESS
的{{1}}来电中获得releaseMethod
。代码如下。我不知道有可能让方法调用得到不良访问。我理解内存管理,调用方法没有内存,对吧?
提前谢谢。
dealloc
答案 0 :(得分:3)
将你的[super dealloc]放在dealloc的末尾,这样你就可以先清理你班级中的东西,然后再清理超类中的东西(你可能会依赖它)。
答案 1 :(得分:2)
如果将消息release
发送到已经解除分配的对象,则会显示此消息。检查您是否在releaseMethod
中过度发布了某些内容。请记住,当一个对象被释放时,它将释放它保留的对象。
在致电[self releaseMethod]
之前,您还应该先[super dealloc]
。