我有一个应用程序,我使用UIView的子类。在这个子类中,我创建了一个NSTimer,在计时器的selector方法中,我调用了UIViewController中创建子类实例的方法。我遇到的问题是UIViewController在导航控制器中,如果应用程序偏离了有问题的视图控制器,一旦定时器尝试在nil视图控制器中调用方法,应用程序就会崩溃。
这是我在UIView子类中的计时器方法
- (void)timerMethod:(NSTimer *)localTimer
{
secondCount++;
__weak MySubclass *weakSelf = self;
[weakSelf.delegate updateTime:secondCount];
}
如何解决此问题?在此先感谢您的帮助!
答案 0 :(得分:0)
当离开视图控制器时,使计时器失效。
使用NSTimer invalidate
方法停止接收器再次触发并请求将其从运行循环中删除。