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?

Respuestas a la pregunta(2)

Su respuesta a la pregunta