我有一些按钮,文本字段和方法的视图。当我加载视图,切换到另一个视图,然后切换回来,我的应用程序崩溃。我在每个方法中添加了NSLog
,以查看崩溃之前的最后一个方法调用是什么,它是-(void)dealloc{
我想知道为什么调用这个方法?每次重新加载视图时都会调用它吗?我已经仔细检查了我的代码,我绝对不会在任何地方调用它。
答案 0 :(得分:0)
当不再需要类并从内存中删除时调用Dealloc。 当你没有更多的指针持有视图中的任何东西时,它就被处理了。
您如何切换到视图?
如果你设置一个(强)指向视图的指针,它将不会自动处理。
答案 1 :(得分:0)
-dealloc
。要找到问题,请确定调用了哪个对象-dealloc
。调用堆栈的第二种方法是什么?第三?是-dealloc
首先发送到有效的对象指针吗?
有几种方法可以解决这类问题。一个好的第一步是打开NSZombies(谷歌为它)。如果您向无效对象发送消息(例如,dealloc
),则会告诉您。通常,这会导致崩溃,但使用NSZombies,您将收到一条很好的错误消息。