Кто-нибудь знает, когда лучше всего остановить NSTimer, который является ссылкой внутри UIViewController, чтобы избежать сохранения цикла между таймером и контроллером?
Вот вопрос более подробно: Iу меня есть NSTimer внутри UIViewController.
Во время ViewDidLoad контроллера представления я запускаю таймер:
statusTimer = [NSTimer scheduledTimerWithTimeInterval: 1 target: self selector: @selector(updateStatus) userInfo: nil repeats: YES];
Приведенное выше заставляет таймер хранить ссылку на контроллер представления.
Теперь я хочу освободить свой контроллер (например, родительский контроллер освобождает его)
вопрос: где я могу поместить вызов [statusTimer invalidate], чтобы заставить таймер освободить ссылку наконтроллер?
Я попытался поместить его в ViewDidUnload, но он не запускается, пока представление не получит предупреждение о памяти, поэтому не очень хорошее место.Я попробовал dealloc, но dealloc никогда не будут вызывать, пока таймер жив (проблема с курицей и яйцом).
Есть хорошие предложения?