Como saber quando invalida um `NSTimer`
Aqui está o meu problema:
Eu tenho uma classe de modelo que tem umNSTimer
nele, quero que o Timer seja executado durante toda a vida útil do objeto de modelo. A iniciação é fácil: eu só tenho a seguinte linha de código noinit
método:
self.maintainConnectionTimer =
[NSTimer scheduledTimerWithTimeInterval:1
target:self
selector:@selector(maintainConnection)
userInfo:nil
repeats:YES];
No entanto, meu problema é,Como invalido este timer quando o modelo é liberado da memória? Agora, isso geralmente seria fácil, no entanto, tanto quanto eu sei, quando você agendar umaNSTimer
o sistema operacional mantém um ponteiro forte para o objeto Timer.
Como devo lidar com isso? Existe um método que é chamado logo antes do modelo ser liberado da memória?