Cómo saber cuándo invalidar un `NSTimer`
Aquí está mi problema:
Tengo una clase modelo que tiene unaNSTimer
en ella, quiero que el temporizador se ejecute durante toda la vida útil del objeto modelo. La iniciación es fácil: solo tengo la siguiente línea de código en elinit
método:
self.maintainConnectionTimer =
[NSTimer scheduledTimerWithTimeInterval:1
target:self
selector:@selector(maintainConnection)
userInfo:nil
repeats:YES];
Sin embargo, mi problema es,¿Cómo invalido este temporizador cuando el modelo se libera de la memoria? Ahora, esto generalmente sería fácil, sin embargo, hasta donde sé, cuando programa unaNSTimer
el sistema operativo mantiene un puntero fuerte al objeto Timer.
¿Cómo debo lidiar con esto? ¿Hay algún método que se llame justo antes de que el modelo salga de la memoria?