dealloc总是被称为?即使你刷了一个应用程序?

时间:2014-12-17 10:46:37

标签: ios objective-c iphone xcode dealloc

我想知道在Objective-C for iOS中关闭ViewController时是否总是调用dealloc。我做了一些测试,似乎就是这样。当我滑动关闭应用程序时,我没有得到任何日志。我想如果你像这样完全关闭应用程序,可能XCode不会记录事情。

我想知道这是因为我在其中一个ViewControllers关闭时发送分析数据而且我需要知道是否总是调用dealloc或者是否有更好的方法来执行此操作。

2 个答案:

答案 0 :(得分:2)

如果您想通过Swiping杀死应用程序时收到通知,可以使用applicationWillTerminate方法,在此方法中,您可以检查导航堆栈中的当前视图控制器并发送该View控制器的分析数据。 / p>

答案 1 :(得分:1)

在为视图控制器(或几乎任何类)调用dealloc时未定义,因此不要将其用于发送分析。

使用viewDidDisappear代替,在删除视图控制器时可以依赖它。