在调用popToRootViewController之前,是否需要使我的NSTimer无效?

时间:2016-07-13 14:13:08

标签: ios automatic-ref-counting

我有一个UInavigationController和三个UIViewControllers。

我们称之为nav,vcA,vcB和vcC。

nav包含vcA作为root,然后按vcB然后按vcC。

我在vcC上有一个NSTimer,我调用了函数popToRootViewController。

NSTimer正在工作,即使我在vcA(导航的根)也是如此。我是否需要使其无效才能发布vcC?

2 个答案:

答案 0 :(得分:1)

实例化NSTimer时,是否将self(vcC)设置为目标?如果是这样,那么您需要使计时器无效,否则vcC将无法释放。我不知道你对ARC有多熟悉,但是当你将vcC设置为NSTimer的目标时,vcC's retain count is added by 1

答案 1 :(得分:1)

如果计时器是

  • 重复计时器,这是一个很好的编程习惯,可以使计时器无效。

  • 单击计时器使自身无效。