Ios 在UIViewController中调用委托方法

Ios 在UIViewController中调用委托方法,ios,uiview,nstimer,Ios,Uiview,Nstimer,我有一个应用程序,我使用UIView的一个子类。在这个子类中,我创建了一个NSTimer,在计时器的selector方法中,我调用了UIViewController中的一个方法,该方法创建了子类的一个实例。我遇到的问题是UIViewController位于导航控制器中,如果应用程序与所讨论的视图控制器分离,则当计时器尝试调用nil视图控制器中的方法时,应用程序就会崩溃 以下是UIView子类中的计时器方法 - (void)timerMethod:(NSTimer *)localTimer {

我有一个应用程序,我使用UIView的一个子类。在这个子类中,我创建了一个NSTimer,在计时器的selector方法中,我调用了UIViewController中的一个方法,该方法创建了子类的一个实例。我遇到的问题是UIViewController位于导航控制器中,如果应用程序与所讨论的视图控制器分离,则当计时器尝试调用nil视图控制器中的方法时,应用程序就会崩溃

以下是UIView子类中的计时器方法

- (void)timerMethod:(NSTimer *)localTimer
{
    secondCount++;
    __weak MySubclass *weakSelf = self;
    [weakSelf.delegate updateTime:secondCount];
}

我如何解决这个问题?提前感谢您的帮助

离开视图控制器时,使计时器无效


使用NSTimer
invalidate
方法停止接收器再次触发,并请求将其从其运行循环中删除。

在子类中有这样做的方法吗?我知道我可以在视图控制器中准备一段时间。这也可以在UIView子类中完成吗?