Вызов метода делегата в UIViewController

У меня есть приложение, в котором я использую подкласс UIView. В этом подклассе я создаю NSTimer, а в методе выбора таймера я вызываю метод в UIViewController, который создал экземпляр подкласса. У меня проблема в том, что UIViewController находится в контроллере навигации, и если приложение отходит от рассматриваемого контроллера представления, приложение вылетает, как только таймер пытается вызвать метод в контроллере нулевого представления.

Вот мой метод таймера в подклассе UIView

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

Как я могу исправить эту проблему? Заранее благодарю за любую помощь!

1 ответ

Решение

Недействительный таймер, когда segues далеко от контроллера представления.

Используйте NSTimer invalidate метод, который останавливает приемник от повторного запуска и запрашивает его удаление из цикла выполнения.

Другие вопросы по тегам