展开segue不会释放我的视图控制器
我有这样的东西:
我的rootViewController
是一个navigationBar
– 让这是A.剩下的是正常的UIViewControllers
,并通过推(通过buttonIBAction
方法)编程方式继续。
但是从D – > A,我使用unwind segue(也通过performSegueWithIdentifier:sender
:)。
这里的问题是当执行segue时,B,C和D根本就不被deallocated
。 这不仅导致内存泄漏问题,但我的计时器仍在运行。 我不确定为什么是这样。 我认为放松的赛段是想为你处理所有这些? 任何想法为什么?
问题在于NSTimer
。
NSTimer
保留其目标。 所以如果一个视图控制器用target:self启动一个定时器,只要定时器正在运行,它就不会被释放。
你可以在这里获得更多的信息
-(void)viewWillDisappear:(BOOL)animated{ [timer invalidate]; timer = nil; }
希望这会帮助你…在其他控制器上的定时器无效