【问题标题】:Calling delegate method in UIViewController在 UIViewController 中调用委托方法
【发布时间】:2014-01-16 02:48:41
【问题描述】:

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

这是我在 UIView 子类中的计时器方法

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

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

【问题讨论】:

    标签: ios uiview nstimer


    【解决方案1】:

    当离开视图控制器时使计时器失效。

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

    【讨论】:

    • 有没有办法在子类中这样做?我知道我可以为视图控制器中的 segue 做准备。这也可以在 UIView 子类中完成吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-21
    • 2013-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多